0

我在 bootstrap.php 中包含一个文件,如下所示

include('files/settings.php');

settings.php 文件包含

    $var= "value";
    function myFunction(){
        echo "myFunction echo";
    }

现在,在我的一个模板中,我尝试使用函数和变量。问题是,当函数按预期工作时,当我尝试打印变量时,我收到“未定义”通知。

我使用 CakePHP 2.1.3

谢谢!

4

1 回答 1

1

像这样定义时,变量是全局变量。

您必须在要使用它的函数中导入它,如下所示:

function globalVariableUsingFunction() {
    global $var;
    echo $var;
}

更多信息在php 文档中

编辑:根据评论,这是 CakePHP 特有的行为:来自这个线程

文件引导程序包含在方法 Configure::__loadBootstrap() 中,因此您必须通过关键字 'global' 将全局变量标记为全局 - 否则它们仅在上述方法的范围内有效。

所以,像这样修改你的 bootstrap.php

global $var= "value";
function myFunction(){
    echo "myFunction echo";
}

应该做的伎俩。

于 2012-07-23T12:58:21.027 回答