Laravel中的作曲家自动加载

时间:2020-03-12 06:19:25

标签: laravel composer-php autoload psr-4

在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文件中声明它们?

1 个答案:

答案 0 :(得分:1)

每个包都应负责自动加载

Laravel视为与其他软件包一样的单个软件包

您可以在每个软件包中分别找到供应商composer.json文件

这是目录结构

<web-root>
    |--------src/
    |           |--------App/
    |           |
    |           |--------Test/
    |
    |---------library/
    |
    |---------vendor/
    |           |
    |           |---------composer/
    |           |           |---------autoload_psr4.php
    |           |           
    |           |----------autoload.php
    |
    |-----------composer.json
    |

您可以看看我的另一本answer自动加载类地图