我使用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