如何与 Composer 自动加载器一起自动加载我的类?

BBe*_*eta 1 php composer-php

通过考虑这个文件结构

| -- src /
        | -- vendor
        | -- models
        | -- libraries
        | -- ...
        | -- composer.json
Run Code Online (Sandbox Code Playgroud)

如何自动加载位于“模型”和“库”目录中的类?

Lor*_*ell 5

您可以将自己的自动加载器规则添加到项目中的composer.json 文件中 - 这会将您自己的规则添加到文件中vendor/autoload.php,以便加载您自己的类以及vendor/目录中的类。此处的文档中有更多信息: https: //getcomposer.org/doc/04-schema.md#autoload。查看 PSR-0 部分以从两个目录加载类。

尝试类似的方法:

{
    "autoload": {
        "psr-0": { "": ["models/", "libraries"] }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您的类是命名空间的,则指定命名空间,因为这将阻止 Composer 查找这些目录中的所有类。

  • 我不知道为什么,但事情不想与“psr-0”一起工作,但它与 psr-4 一起工作正常:“psr-4”:{“namespace1\\”:“models/”,“namespace2” \\": "libraries/" } ...谢谢 (3认同)