我曾在一包用作曲家要求-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 –