你好,我有以下方法:PHP嘗試包括水珠的陣列()'D目錄,不最後找到一個
private static function loadIncludes()
{
// prepare array of files from folders
$files = array(
glob(self::libPath()."/*.php"),
glob(self::controllersPath()."/*.php"),
glob(self::extensionsPath()."/*.php"),
);
// include files
foreach ($files as $set)
{
if (is_array($set)) foreach ($set as $file)
{
require_once($file);
}
}
}
如果我的print_r的$文件數組它包含了所有的文件,但對於一些因其不是做require_once()上的最後一個數組項(/家/ * /app/extensions/Controller.php) 看到輸出:
Array
(
[0] => Array
(
[0] => /home/***/app/lib/CApp.php
[1] => /home/***/app/lib/CController.php
[2] => /home/***/app/lib/CDb.php
[3] => /home/***/app/lib/CView.php
)
[1] => Array
(
[0] => /home/***/app/controllers/SiteController.php
)
[2] => Array
(
[0] => /home/***/app/extensions/Controller.php
)
)
這應該工作。你確定該文件尚未包含嗎?另外,在我看來,'if(is_array($ set))foreach($ set as $ file){}'是不好的編碼風格。它可能會比這更清晰。 – netcoder 2012-03-14 15:37:00
你怎麼知道它沒有執行'require_once'?也許它已經加載 – 2012-03-14 15:37:54