我使用PHP 5.3.8和CakePHP 2.1.1。“全局”在CakePHP 2.1.1中不起作用
这是我的看法(布局是空的,实际上它仅输出视图本身)
<?php
// $present is not a view variable
$present = 'Hello World!';
class ApplicationsPDF
{
public function CreateApplicationTable()
{
global $present;
exit(var_dump($present));
}
}
$pdf = new ApplicationsPDF();
$pdf->CreateApplicationTable();
?>
输出是null
代替的“Hello World!”。
如果我将这段代码复制并粘贴到一个单独的文件(我直接从浏览器运行),它就完美了!
所以它必须是一个CakePHP错误。有人知道吗?
我无法想象这个重要的bug以前没有被捕获过,但在5.3.9+更新日志中没有任何关于它的内容。我必须想象这是关于你当地的环境。你是否在使用auto_prepend_file来闯入任何东西? – 2012-03-30 17:39:00
不,但上面的代码是从CakePHP 2.1.1运行的。我只是发现代码完全独立运行。我将编辑该问题。 (我知道Stackoverflow不是一个错误跟踪器,但我不想删除这个问题) – ComFreek 2012-03-30 17:41:20
我知道这不是重点,但为什么你认为你需要使用全局变量?为什么不将'$ present'传递给构造函数并设置一个类变量? – 2012-03-30 17:47:30