psr-0 和 psr-4的區別

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自動加載規範兼容

相關文章
相關標籤/搜索