psr-0 和 psr-4这两种自动加载规范的区别php
composer同时兼容这两种规范, 可是这二者有什么区别呢?json
好比说在composer.json中我这样定义了:composer
{ "autoload": { "psr-4": { "church\\": "./src/" } } }
那我使用 use church\testClass
, 那就对应src/testClass.php
.code
使用use church\test\testClass
, 那就对应src/test/testClass.php
.class
上面是psr-4的对应规则. 那psr-0是什么样的呢?test
{ "autoload": { "psr-0": { "church\\": "./src/" } } }
我使用use church\testClass
, 那就对应src/church/testClass.php
.
使用use church\test\testClass
, 那就对应src/church/test/testClass.php
.psr
很明显psr-0的目录路径更深. 所以推荐psr-4自动加载规范兼容