我打電話叫ajax.php(從我的瀏覽器進行測試)變量範圍
ajax.php require_once delete.php
delete.php require_once no_direct.php
文件delete.php開始是這樣的:
$allowed = array('group'=>'admin');
require_once(ASSETS.'/no_direct.php'); //Yes, ASSETS is defined and no_direct is being included.
在no_direct.php我想:
var_dump($allowed)
我只是不斷的來到NULL。
是否發生這種情況是因爲我們在ajax.php的require_once函數中運行,並且$允許的範圍回退到GLOBAL範圍,不允許我從no_delete.php訪問它?
我在看這裏:PHP variable defined in 'parent' file not recognized in 'required' file,只是爲了勤奮。
我確信我可以用GLOBAL關鍵字來解決這個問題,但我希望能稍微澄清一下。 PHP範圍文檔似乎沒有回答我的問題。
它被認爲是這種情況沒有包裹在另一個功能。
你不在函數的某個地方嗎? 「ASSETS」是文件路徑嗎? – 2011-04-03 16:38:33
ASSETS包含什麼? – 2011-04-03 16:38:37
是的,ASSETS是一個文件路徑。所以它最終會成爲像C:/ apache/htdocs/ – 2011-04-03 16:40:10