CakePHP查看变量范围问题

时间:2010-01-22 13:19:02

标签: cakephp view global-variables

我在视图文件中有这些行

////////////////////////////

$a = 5;
showme()

showme()
{
 global $a;
 echo $a;
}

////////////////////////////////

问题:在showme()函数中无法访问$ a。

我没有选择将$a作为参数传递,也没有选择从视图中移动函数。并且只能通过global关键字访问它。

我可以将声明的方式更改为$a

2 个答案:

答案 0 :(得分:0)

您缺少分号以结束后面的语句:

$a = 5;
showme()

更改为:

$a = 5;
showme();

您的代码似乎没问题,它应该可以使用,不确定,但如果您在课堂内,可以试试这个:

$a = 5;
$this->showme();

答案 1 :(得分:0)

问题是$ a实际上并未在全局范围内定义,而是在视图模板中定义。因此,

global $a;

没有按预期工作。

我不确定这是否有效,但你至少可以尝试一下:

$GLOBALS['a'] = 5;

function showme(){
   echo $GLOBALS['a'];
}