Doctrine Autoloader附加名称空间以包含路径

时间:2014-03-07 20:51:57

标签: php doctrine autoload

我有以下文件夹设置

/common
   /classes
     -sharedClass.php
/project
   /classes
       -coreClass.php
   index.php
   bootstrap.php

在我的bootstrap.php中,我正在设置命名空间

$autoloader = new ClassLoader('CommonFiles', dirname(__DIR__) . '/common/classes/');
$autoloader->register();

在index.php中:

require_once 'classes/coreClass.php'
$core = new CoreClass();
核心类()中的

use CommonFiles\SharedClass;

//Other code

我收到一条错误,找不到sharedClass.php,并且实际的命名空间被追加到正在检查的文件路径中,以便它是:

c:/web/common/classes/CommonFiles/sharedClass.php 

那么......我如何阻止自动加载器将命名空间作为它正在寻找的路径根目录的一部分?

1 个答案:

答案 0 :(得分:0)

因此经过一些仔细审查后,显然这就是自动加载的工作方式。我回顾了Doctrine示例中的一些内容,看起来命名空间会自动附加到您的所有use语句中。这不仅仅是一个侥幸,而是一个设计决策,并考虑到它意味着一个简单的解决方案。