Laravel實(shí)現(xiàn)autoload方法詳解
用了一陣Laravel后發(fā)現(xiàn)很少有include和require,覺(jué)得有點(diǎn)奇怪,思考Laravel是怎么完成文件導(dǎo)入的。
其實(shí)Laravel依舊還是用include或者require的,只是都寫(xiě)在一個(gè)函數(shù)里了。
就像這樣:
function autoload($path){ require_once($path); }
一般每次導(dǎo)入的PHP文件不只一兩個(gè),會(huì)有很多,所以要定義一個(gè)數(shù)組來(lái)存儲(chǔ)“類和PHP文件的映射關(guān)系”,就像這樣:
$classmap=[ 'DB'=>'api.php', 'FileSystem'=>'api.php', 'Session'=>'api.php' ];
然后,對(duì)數(shù)組進(jìn)行遍歷,不要再寫(xiě)for循環(huán)了,用一個(gè)優(yōu)雅的函數(shù)就可以解決。
array_map("autoload",$classmap);
我們來(lái)看看真正的Laravel是怎么定義這個(gè)數(shù)組的,映射文件在\vendor\composer的autoload_classmap.php里
相關(guān)文章
詳解WordPress中過(guò)濾鏈接與過(guò)濾SQL語(yǔ)句的方法
這篇文章主要介紹了詳解WordPress中過(guò)濾鏈接與過(guò)濾SQL語(yǔ)句的方法,主要用于防止不安全協(xié)議和SQL注入攻擊,需要的朋友可以參考下2015-12-12phpstudy無(wú)法啟動(dòng)MySQL服務(wù)的解決方法
個(gè)人比較懶,所以想到用phpstudy這個(gè)軟件進(jìn)行控制,但這個(gè)時(shí)候問(wèn)題出現(xiàn)了:在下載phpstudy后想要啟動(dòng)MySQL服務(wù),但是總是無(wú)法啟動(dòng),所以本文給大家介紹了如何解決phpstudy無(wú)法啟動(dòng)MySQL服務(wù)的問(wèn)題,需要的朋友可以參考下2024-06-06PHP 存儲(chǔ)文本換行實(shí)現(xiàn)方法
在文本存儲(chǔ)時(shí)使用\n如果發(fā)現(xiàn)沒(méi)有效果, 這時(shí)可以使用\r\n就可以了,希望對(duì)有需要的朋友有所幫助。2010-01-01PHP中strnatcmp()函數(shù)“自然排序算法”進(jìn)行字符串比較用法分析(對(duì)比strcmp函數(shù))
這篇文章主要介紹了PHP中strnatcmp()函數(shù)“自然排序算法”進(jìn)行字符串比較用法,結(jié)合實(shí)例形式分析了strnatcmp函數(shù)字符串比較的使用技巧,并對(duì)比了strcmp函數(shù)說(shuō)明了兩者的使用區(qū)別,需要的朋友可以參考下2016-01-01php+jQuery+Ajax實(shí)現(xiàn)點(diǎn)贊效果的方法(附源碼下載)
這篇文章主要介紹了php+jQuery+Ajax實(shí)現(xiàn)點(diǎn)贊效果的方法,結(jié)合實(shí)例形式詳細(xì)介紹了php結(jié)合jQuery的ajax無(wú)刷新提交實(shí)現(xiàn)點(diǎn)贊功能的具體步驟與相關(guān)技巧,需要的朋友可以參考下2015-12-12PHP創(chuàng)建文件,并向文件中寫(xiě)入數(shù)據(jù),覆蓋,追加的實(shí)現(xiàn)代碼
這篇文章主要介紹了PHP創(chuàng)建文件,并向文件中寫(xiě)入數(shù)據(jù),覆蓋,追加的實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-03-03