我曾在一包用作曲家要求-dev的requireing需要依赖-dev的
"autoload-dev": {
"psr-4": {
"Vendor\\PackageA\\PhpUnit\\": "tests/PhpUnit"
}
},
这工作得很好被自动加载被命名空间的一些测试。
我还有一个包,里面也有命名空间,需要在程序包A
"autoload-dev": {
"psr-4": {
"Vendor\\PackageB\\PhpUnit\\": "tests/PhpUnit"
}
},
然而,命名空间的测试之一,当我尝试,包括在包B的文件测试包B,该类是不发现
use Vendor\PackageA\PhpUnit\MyTestFromA;
class MyTestFromB extends MyTestFromA
{
让我觉得来自其他软件包的自动加载开发的东西没有被加载。
PHP Fatal error: Class 'Vendor\PackageA\PhpUnit\MyTestFromA' not found in /full/path/to/PackageBClass.php on line 3
当我尝试并导入正在使用autoload
从程序包B,而不是autoload-dev
自动加载一个文件,我没有得到任何错误。
我该如何克服这个问题?
我的一部分正在考虑为测试制作一个软件包,并在没有autoload-dev
的情况下自动加载,但我想先确认一下。
Duplicate + Answer:http://stackoverflow.com/a/21171171/1163786 –