本文要跟大家講解的是在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裡
#
以上是Laravel中autoload方法實作的用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!