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