[英]PSR-4: Autoloader (composer) and extending namespaces ensuring fallback php
[英]PHP - PSR-4: Autoloader (composer) and multiple namespaces with the same root
目前我的所有類都在一個文件夾中並且位於一個名稱空間下:
"psr-4": {
"RootNamespace\\": "lib/"
},
這很好用。 當我添加越來越多的類時,我想將一些邏輯上相關的類放入更深的命名空間級別,但具有相同的根命名空間。 它應該是這樣的:
RootNamespace/Services (in 'lib/services' dir)
RootNamespace/Listeners (in 'lib/listeners' dir)
我想我不需要在composer.json ps-4自動加載定義中更改任何內容,但它不再起作用了。
自動加載定義應如何實現我想要的目標?
正如我測試的那樣,下面的解決方案並不好,因為聲明似乎被覆蓋了
"psr-4": {
"RootNamespace\\": "lib/",
"RootNamespace\\Services\\": "lib/services/",
"RootNamespace\\Listeners\\": "lib/listeners/"
},
根據PSR-4規格 :
必須以區分大小寫的方式引用所有類名。
您的配置是准確的,具有嵌套在同一目錄中的不同PSR-4命名空間。 它應該工作,但可能會變得混亂。
"psr-4": {
"RootNamespace\\": "lib/",
"RootNamespace\\Services\\": "lib/services/",
"RootNamespace\\Listeners\\": "lib/listeners/"
},
我建議您只需將目錄大寫以匹配PSR規范,或將RootNamespace
移出頂級lib/
目錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.