你好,我有以下方法:
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);
}
}
}
如果我打印$files数组,它包含所有文件,但由于某种原因,它没有对最后一个数组项(/home/*/app/extensions/Controller.php)执行requireonce()操作参见输出:
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
)
)
正如print_r所示,即使只有一个结果,它仍然是一个数组,
我相信if(is_array($set))可以省略。
至于为什么只有最后一个不起作用,我不能说,
通过为每个循环回显所有步骤的每一步,尝试更好地调试