5

psr-0 和 psr-4这两种自动加载规范的区别

composer同时兼容这两种规范, 但是这两者有什么区别呢?

比如说在composer.json中我这样定义了:

{
    "autoload": {
        "psr-4": {
            "church\\": "./src/"
        }
    }
}

那我使用 use church\testClass, 那就对应src/testClass.php.

使用use church\test\testClass, 那就对应src/test/testClass.php.

上面是psr-4的对应规则. 那psr-0是什么样的呢?

{
    "autoload": {
        "psr-0": {
            "church\\": "./src/"
        }
    }
}

我使用use church\testClass, 那就对应src/church/testClass.php.
使用use church\test\testClass, 那就对应src/church/test/testClass.php.

很明显psr-0的目录路径更深. 因此推荐psr-4自动加载规范


church
3.6k 声望67 粉丝