我把这个设置安装到composer.json
"autoload": {
"psr-4": {
"": "src/",
"App\\": "src/App"
}
}
使用此文件夹结构:
src
---App
------MyClass.php --> namespace \App;
---Somedir
------Otherdir
---------OtherClass.php --> no namespace
src/App
文件夹下的文件将被加载,文件不在Somedir
下。
有什么问题?
答案 0 :(得分:0)
您可以使用自动加载器的组合,因此调整composer.json
以使用PSR-4自动加载器用于具有命名空间的类,并使用classmap自动加载器用于没有命名空间的类:
{
"autoload": {
"classmap": [
"src/SomeDir"
],
"psr-4": {
"App\\": "src/App"
}
}
}
供参考,请参阅https://getcomposer.org/doc/04-schema.md#autoload。
使用类映射自动加载器的缺点是,如果在通过类映射自动加载器加载的目录中添加或删除类,则需要重新生成类映射:
$ composer dump-autoload