作曲家 - 自动加载和PSR-0与PSR-4

Leo*_*ipe 6 php autoload psr-0 composer-php psr-4

我开始研究Composer并正在开发一个系统,我将文件分离到核心应用程序文件,如下所示:

/root 
    |-- /src 
         |-- /App 
               |-- /DBConfig
               |-- /Controller
               |-- /Model
         |-- /Core 
               |-- /Helper
               |-- /Controller
               |-- /Model

因此,设置在composer.json文件此设置,并获得所有的类都/应用/核心会是这个样子?


    "autoload" : {
        "psr-X" : {
            "App\\" : "/src",
            "Core\\" : "/src"
        }
    }

或者有更正确的方法吗?

我也读过关于PSR-0和PSR-4的内容,我仍然有点怀疑使用哪一个.在我的情况下,我应该实现什么,PSR-0或PSR-4

小智 5

你不需要2个条目,只需要一个主命名空间,所以对于PSR-4这样的东西:

    "autoload" : {
        "psr-4" : {
            "MyApp\\" : "/src"            }
    }
Run Code Online (Sandbox Code Playgroud)

只要src /中的所有内容都使用相同的命名空间即可.只需让自动加载器完成它的工作.

至于使用哪个,我会选择PSR-4,因为在某些时候,预计PSR-0将被弃用,并且PSR-4被认为是向后兼容的,而不是旧的遗留程序的一些瑕疵,实际上并没有除了你开始使用它的一些新功能之外的差异