在laravel项目中查看composer.json文件, 我可以在下面找到
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"database/seeds",
"database/factories"
]
},
据我所知App \:“ app /”表示以App开头的名称空间的源文件位于app /目录下,并且紧随psr-4。
但是,例如,以Illuminate开头的软件包,供应商目录下有很多软件包。 他们是在psr-4或classmap下吗?为什么不在composer.json文件中声明它们?
答案 0 :(得分:1)
每个包都应负责自动加载
将Laravel视为与其他软件包一样的单个软件包
您可以在每个软件包中分别找到供应商composer.json
文件
这是目录结构
<web-root>
|--------src/
| |--------App/
| |
| |--------Test/
|
|---------library/
|
|---------vendor/
| |
| |---------composer/
| | |---------autoload_psr4.php
| |
| |----------autoload.php
|
|-----------composer.json
|
您可以看看我的另一本answer自动加载类地图