- composer同时兼容这两种规范, 但是这两者有什么区别呢?
- 比如说在composer.json中我这样定义了:
{
"autoload": {
"psr-4": {
"liangzai\\": "./src/"
}
}
}
那我使用 use liangzai\testClass, 那就对应src/testClass.php.
使用use liangzai\test\testClass, 那就对应src/test/testClass.php.
- 上面是psr-4的对应规则. 那psr-0是什么样的呢?
{
"autoload": {
"psr-0": {
"liangzai\\": "./src/"
}
}
}
我使用use liangzai\testClass, 那就对应src/liangzai/testClass.php.
使用use liangzai\test\testClass, 那就对应src/liangzai/test/testClass.php.
很明显psr-0的目录路径更深. 因此推荐psr-4自动加载规范
总结:
1、psr-4 类名的下划线没有任何意义
2、psr-4 实际上是用命名空间前缀去代替路径
参考链接: