Yii和PHPUnit Autoloaders冲突

时间:2015-06-22 07:43:06

标签: php yii phpunit autoloader spl-autoload-register

这个问题与我有earlier question有关,但我现在学到了更多,这个问题变得太乱了,所以我在这里开始一个新问题。

我正在尝试同时使用Yii和PHPUnit,并尝试使自动加载工作。我找到了一个用于PHPUnit的Autoloader here。我读了here我最后应该注册Yii自动加载器。

使用以下引导程序文件:

<?php
require_once(__DIR__.'/../tests/AutoLoader.php');
Toolbox\Testing\AutoLoader::registerDirectory(__DIR__.'/../protected');
require_once(__DIR__.'/../yii-1.1.14.f0fee9/yii.php');
print_r(spl_autoload_functions());
?>

我看到自动加载器按正确的顺序排列:

[1] => Array
    (
        [0] => Toolbox\Testing\AutoLoader
        [1] => loadClass
    )

[2] => Array
    (
        [0] => YiiBase
        [1] => autoload
    )

但是,我仍然无法导入我需要的课程。 YiiBase在行autoload中的函数include($className.'.php');中出错,它试图包含没有附加路径的类名。

  1. 为什么Yii尝试加载没有所需文件的完整路径的类?
  2. 如何使这种组合起作用?

0 个答案:

没有答案