我對指南以及如何命名文件有點困惑。我應該如何根據PSR-0來組織我的文件?
1)什麼是Vendor
意味着\<Vendor Name>\(<Namespace>\)*<Class Name>
2)如果我的名字命名空間AnimalsApp
並有abstract class Dog
,做我把具體的類如GermanShepherd
在自己的文件夾?
即。 AnimalsApp\Dog\GermanShepherd\GermanShepherd.php
或AnimalsApp\Dog\GermanShepherd.php
?
此外,我是否將Dog.php
包含在GermanShepherd.php
文件中,還是由自動加載器爲我加載所有內容?
3.)命名空間的所有子類都需要在每個文件的頂部有名稱空間嗎?
4.)<Class Name>
是否代表<Interface>
在這裏?什麼時候你有什麼像class MyClass extends MyAbstract implements MyInterface
。你把這些文件放在哪裏?
「我應該提到,上述兩個例子似乎都不太可能和/或表示不好的選擇。」 你能解釋這是爲什麼嗎?我的意思是,GermanShepherd只能是Dog類的一個子集,對吧? – tgun926
@ tgun926:不論是'GermanShepherd'派生還是不派生'Dog'都無關緊要。重要的是它聲明瞭哪個名稱空間。由於'Dog'最有可能是類的名稱,而不是名稱空間的名稱,因此它永遠不會顯示爲目錄名稱。 – Jon
乾杯!只需要澄清一下供應商前綴 - 如果在同一應用程序中使用它的工作不會導致衝突,那麼它是否與名稱空間具有完全相同的工作? – tgun926