composer自定义自动加载器,无需在composer.json中添加自动加载

时间:2014-05-10 14:32:26

标签: php json class composer-php autoload

我指的是 https://getcomposer.org/doc/01-basic-usage.md#autoloading

可能所有的作曲家用户都会将它添加到composer.json中,以使其加载自定义命名空间:

{
    "autoload": {
        "psr-4": {"Acme\\": "src/"}
    }
}

在我的情况下,我的文件夹结构与名称空间完全相同,因此\ hello \ world将引用\ hello \ world中的类。那么,有没有办法告诉作曲家他应该在目录内搜索名称相同的命名空间,而不是在composer.json中告诉它?这是不必要的费用!

2 个答案:

答案 0 :(得分:1)

不,你不能这样做。

如果要使用类似于类的确切命名空间结构的长路径,则可以始终使用PSR-0,这会强制您使用这些长目录名称。但请注意,这有一些轻微的缺点 - 遍历更长的路径需要更多的时间。

答案 1 :(得分:1)

您可以使用自定义自动加载器,因为PHP可以处理多个自动加载器!