我有一个用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()
?