当Autoload为ON时,PHP无法包含文件

时间:2012-09-08 17:25:20

标签: php include autoloader spl-autoloader

我有自己的MVC和自动加载器加载类。一切正常,除了我的基础View.php在Core文件夹中,其渲染功能执行以下操作:

   public function render($file) {
        include('Project/Views/index/header.php');
        include('Project/Views/'.strtolower($file).'.php');
        include('Project/Views/index/footer.php');
   }

View.php使用命名空间

namespace Core;

当我进入我的索引页面时,它会给出:

Warning: include(Projcet/Views/index/header.php): failed to open stream: No such file ...

我尝试了以下内容:我添加了

use Project\Views;

而不是包括我做了:

$header = new Views\index\header();

这会显示页面上的标题,但也会出错:

'Project\Views\index\header' not found

我知道它因为header.php不是一个类。这是一个视图文件。所以我不知道,当autoloader加载基础控制器的View.php时,如何包含该文件。

1 个答案:

答案 0 :(得分:1)

错误消息(如果您逐字复制粘贴)看起来像是包含错误文件夹中的文件:

警告:include( Projcet /Views/index/header.php):无法打开流:没有此类文件......