我有一個用CakePHP 3編寫的應用程序。我已經通過Composer安裝了Cake和其他軟件包。加載供應商/作曲家/ autoload_namespaces.php中未列出的Composer軟件包
最近的一次我安裝了fineuploader/php-traditional-server
(https://packagist.org/packages/fineuploader/php-traditional-server)由 把這在我composer.json
然後運行composer update
:
"require": {
"fineuploader/php-traditional-server": "1.1.0"
}
這已下載的文件按預期爲vendor/fineuploader/php-traditional-server
。
但是,如果我嘗試引用,在我的蛋糕控制器之一,是這樣的:
use UploadHandler;
public function test()
{
var_dump(new \UploadHandler);
}
它錯誤說類「UploadHandler」未找到
我一直的唯一途徑能夠得到以上運行是通過硬編碼鏈接到適當的文件。因此,而不是use UploadHandler;
我
require_once(ROOT . DS . 'vendor/fineuploader/php-traditional-server/handler.php');
我在https://jtreminio.com/2012/10/composer-namespaces-in-5-minutes/閱讀vendor/composer/autoload_namespaces.php
應該包含能夠自動載入的命名空間。但是當我打開這個文件時,沒有提到這個包(實際上只有大約3個,而我的vendor
目錄有一些我可以使用的很好的包)。
那麼加載UploadHandler
的正確方法是什麼?我認爲使用Composer的重點在於它自動加載這些文件,所以你沒有必須使用像require()
?