Laravel實現(xiàn)autoload方法詳解
用了一陣Laravel后發(fā)現(xiàn)很少有include和require,覺得有點奇怪,思考Laravel是怎么完成文件導(dǎo)入的。
其實Laravel依舊還是用include或者require的,只是都寫在一個函數(shù)里了。
就像這樣:
function autoload($path){ require_once($path); }
一般每次導(dǎo)入的PHP文件不只一兩個,會有很多,所以要定義一個數(shù)組來存儲“類和PHP文件的映射關(guān)系”,就像這樣:
$classmap=[ 'DB'=>'api.php', 'FileSystem'=>'api.php', 'Session'=>'api.php' ];
然后,對數(shù)組進行遍歷,不要再寫for循環(huán)了,用一個優(yōu)雅的函數(shù)就可以解決。
array_map("autoload",$classmap);
我們來看看真正的Laravel是怎么定義這個數(shù)組的,映射文件在\vendor\composer的autoload_classmap.php里
相關(guān)文章
PHP中strnatcmp()函數(shù)“自然排序算法”進行字符串比較用法分析(對比strcmp函數(shù))
這篇文章主要介紹了PHP中strnatcmp()函數(shù)“自然排序算法”進行字符串比較用法,結(jié)合實例形式分析了strnatcmp函數(shù)字符串比較的使用技巧,并對比了strcmp函數(shù)說明了兩者的使用區(qū)別,需要的朋友可以參考下2016-01-01php+jQuery+Ajax實現(xiàn)點贊效果的方法(附源碼下載)
這篇文章主要介紹了php+jQuery+Ajax實現(xiàn)點贊效果的方法,結(jié)合實例形式詳細介紹了php結(jié)合jQuery的ajax無刷新提交實現(xiàn)點贊功能的具體步驟與相關(guān)技巧,需要的朋友可以參考下2015-12-12PHP創(chuàng)建文件,并向文件中寫入數(shù)據(jù),覆蓋,追加的實現(xiàn)代碼
這篇文章主要介紹了PHP創(chuàng)建文件,并向文件中寫入數(shù)據(jù),覆蓋,追加的實現(xiàn)代碼,需要的朋友可以參考下2016-03-03