這是我現在項目的禍根,也是我過去的項目。對於他們每個人,我使用的選擇都遠遠不夠理想。用於檢索完整名稱空間的優雅和實用解決方案
問題:我的項目有一個實例化任何類的註冊表,要求您傳遞一個完整名稱空間,並檢索完整的名稱空間可能會很痛苦。例如:
$registry->getClassInstance('\application\model\SomeModel');
要獲得完整的命名空間,我有幾個選項,所有繁瑣:
- 類型SomeModel,和PHP將找到的命名空間。但是,它的自動完成將不打印全名空間,而是打印SomeModel()並在文件頂部添加USE全名空間。如果IDE只是打印我輸入的完整名稱空間,則此問題已重新生成。相反,我必須右鍵點擊自動填充窗口兩次才能複製和粘貼完整的namspace,然後自己粘貼並添加一個開始/到它,非常麻煩。
- 對名稱空間使用defined()常量。將工作翻倍,性能降低一半,並可能導致本地缺陷
使用函數創建一個類對象以檢索所有命名空間。再次,很多麻煩和不切實際的使用
如何保持我的名稱空間引用容易到達,並且易於在大型項目中更新?大項目通常如何處理這些問題?
我真的很希望有人能幫助我,因爲我搜索了一個LOT如何處理包含和使用,並需要有組織的方式,我甚至無法找到關於此主題的討論 – Rob 2014-09-28 17:31:51
這太令人沮喪了,爲什麼沒有人有沒有談過這個?每個人都在他們的項目中包含大量的包含(路徑)或命名空間,但我從來沒有看到如何組織,檢索和使它們易於更新的解決方案。什麼是最佳做法? – Rob 2014-09-28 17:39:31