laravel創(chuàng)建類似ThinPHP中functions.php的全局函數(shù)
前言
一直覺(jué)得ThinPHP中的公共函數(shù)是一個(gè)很好的設(shè)計(jì),因?yàn)槲覀冎恍枰趂unctions.php中對(duì)共用的函數(shù)進(jìn)行封裝,然后就可以在全局直接進(jìn)行調(diào)用了。其實(shí)Laravel中也有類似的功能的,比如說(shuō)助手函數(shù),類似于session()
等函數(shù),這些助手函數(shù)也是全局可以調(diào)用的,非常的方便。
下面總結(jié)一下,兩者之間的差別以及相同點(diǎn)。
TP3系列中functions.php文件默認(rèn)其實(shí)是空文件,很好找。我們可以直接封裝代碼。
Laravel5系列中的path/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php
。該文件中封裝的函數(shù)就是全局函數(shù),可以在任意區(qū)域進(jìn)行調(diào)用。
但是,Laravel中的helper.php中已經(jīng)封裝好了很多的內(nèi)置助手函數(shù),一般不建議直接在該文件中進(jìn)行自己函數(shù)的封裝,而是采用新創(chuàng)建一個(gè)文件,里面放置需要封裝的函數(shù)。
這里有一點(diǎn)需要說(shuō)明:全局函數(shù)的實(shí)現(xiàn)是依靠在初始化的時(shí)候,將helps.php或者functions.php直接進(jìn)行了加載。而Laravel中path/bootstrap/autoload.php
中可以定義在初始化的時(shí)候加載什么文件。
在默認(rèn)的情況下,有以下一條加載配置:
require __DIR__.'/../vendor/autoload.php';
同樣,我們也可以加載其他的文件,比如以下的加載操作:
require __DIR__.'/../app/Common/functions.php';
這樣,我們就可以直接在這個(gè)加載的文件中直接封裝需要的函數(shù),這樣也就實(shí)現(xiàn)了我們的需要。
另外,有人還推薦了另外一種方法,就是使用一個(gè)控制器,在控制器中的類中封裝靜態(tài)的方法,在需要的地方,引入所需的控制器,也可以實(shí)現(xiàn)我們的需求。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或者使用laravel能有一定的幫助,如果有疑問(wèn)大家可以留言交流。
相關(guān)文章
php中判斷字符串是否全是中文或含有中文的實(shí)現(xiàn)代碼
php中判斷字符串是否全是中文或含有中文的實(shí)現(xiàn)代碼,主要是利用正則匹配中文判定。2011-09-09PHP遞歸統(tǒng)計(jì)系統(tǒng)中代碼行數(shù)
這篇文章主要為大家詳細(xì)介紹了PHP遞歸統(tǒng)計(jì)系統(tǒng)中代碼行數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09mac下Apache + MySql + PHP搭建網(wǎng)站開發(fā)環(huán)境
最近接了個(gè)小活,做一個(gè)使用PHP語(yǔ)言和MySql數(shù)據(jù)庫(kù)的動(dòng)態(tài)網(wǎng)站。之前做過(guò)類型的網(wǎng)站,是在windows系統(tǒng)下做的,開發(fā)環(huán)境使用的是 AppServ 的PHP開發(fā)套件。現(xiàn)在有了我的大MAC,所以找了MAC系統(tǒng)下PHP環(huán)境的開發(fā)套件。2014-06-06Laravel快速入門之composer介紹及安裝詳細(xì)圖文步驟
這篇文章主要介紹了Laravel快速入門之composer 介紹以及安裝詳細(xì)圖文步驟,圖文步驟講解的很清楚,有對(duì)這方面不懂的同學(xué)可以研究下2021-01-01PHP實(shí)現(xiàn)獲取客戶端IP并獲取IP信息
這篇文章主要介紹了PHP實(shí)現(xiàn)獲取客戶端IP并獲取IP信息的方法示例,非常實(shí)用,有需要的小伙伴快來(lái)參考下吧。2015-03-03功能齊全的PHP發(fā)送郵件類代碼附詳細(xì)說(shuō)明
PHP--下面這個(gè)類的功能則很強(qiáng)大,不但能發(fā)html格式的郵件,還可以發(fā)附件2008-07-07PHP實(shí)現(xiàn)的棧數(shù)據(jù)結(jié)構(gòu)示例【入棧、出棧、遍歷?!?/a>
這篇文章主要介紹了PHP實(shí)現(xiàn)的棧數(shù)據(jù)結(jié)構(gòu),結(jié)合實(shí)例形式分析了php定義棧及入棧、出棧、遍歷棧等相關(guān)操作技巧,需要的朋友可以參考下2017-12-12