Laravel是怎么實現autoload的?


用了一陣Laravel后發現很少有include和require,覺得有點奇怪,思考Laravel是怎么完成文件導入的。

其實Laravel依舊還是用include或者require的,只是都寫在一個函數里了。

就像這樣:

function autoload($path){
	require_once($path);
}

一般每次導入的PHP文件不只一兩個,會有很多,所以要定義一個數組來存儲“類和PHP文件的映射關系”,就像這樣:

$classmap=[
		'DB'=>'api.php',
		'FileSystem'=>'api.php',
		'Session'=>'api.php'
];

然后,對數組進行遍歷,不要再寫for循環了,用一個優雅的函數就可以解決。

array_map("autoload",$classmap);

我們來看看真正的Laravel是怎么定義這個數組的,映射文件在\vendor\composer的autoload_classmap.php里

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM