現在假設我有幾個類都在一個文件中,我運行作曲家dump-autoload -o,我嘗試使用它的任何工作類,現在如何將所有這些類都包含到單個文件中使用require_once,應該也有效嗎?我問這與我之前問的問題,還沒有得到答覆:Loading external libraries in laravel-5Composer Dump-Autoload Scan需要文件嗎?
現在,當我轉儲每個需要的文件的內容(類)到單個文件中,我可以使用這些類,但是當我使用require_once我總是沒有找到類?是否有一個原因?或者我只是沒有正確使用它?
爲了進一步澄清什麼,我問:
require_once("Class_1.php");
require_once("Class_2.php");
require_once("Class_3.php");
require_once("Class_4.php");
針對這樣的:
class Class_1 extends Class_Extender_1 {..}
class Class_2 extends Class_Extender_2 {..}
class Class_3 extends Class_Extender_3 {..}
class Class_4 extends Class_Extender_4 {..}
實際上使用psr-4來自動加載那個需要其他文件的文件,每個類都擴展了一些其他的類,所以我實際上需要它們都被自動加載。 – user3718908 2015-04-01 23:08:45
但是你不需要自己做 - 這就是自動加載的意義。通過優化單個數據庫查詢,您可能會獲得更多的性能,而不是通過優化PHP中類的加載。記住:你不能優化你無法衡量的東西。繼續,使用分析器,確定你獲得的速度增益。如果這很重要,則應用它。如果不是 - 暫時忽略。如有必要,稍後再回來。 – Sven 2015-04-01 23:26:54
還有一點,因爲我們正在討論優化自動加載:不要使用'* _once()'函數。自動加載只會自動進行一次,但這些功能需要跟蹤哪些文件已加載,哪些文件對性能也有影響。 – Sven 2015-04-01 23:29:16