前言
一直覺得ThinPHP中的公共函數是一個很好的設計,因為我們只需要在functions.php中對共用的函數進行封裝,然後就可以在全局直接進行調用了。其實Laravel中也有類似的功能的,比如說助手函數,類似於session()
等函數,這些助手函數也是全局可以調用的,非常的方便。
下面總結一下,兩者之間的差別以及相同點。
TP3系列中functions.php文件默認其實是空文件,很好找。我們可以直接封裝代碼。
Laravel5系列中的path/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php
。該文件中封裝的函數就是全局函數,可以在任意區域進行調用。
但是,Laravel中的helper.php中已經封裝好了很多的內置助手函數,一般不建議直接在該文件中進行自己函數的封裝,而是采用新創建一個文件,裡面放置需要封裝的函數。
這裡有一點需要說明:全局函數的實現是依靠在初始化的時候,將helps.php或者functions.php直接進行了加載。而Laravel中path/bootstrap/autoload.php
中可以定義在初始化的時候加載什麼文件。
在默認的情況下,有以下一條加載配置:
require __DIR__.'/../vendor/autoload.php';
同樣,我們也可以加載其他的文件,比如以下的加載操作:
require __DIR__.'/../app/Common/functions.php';
這樣,我們就可以直接在這個加載的文件中直接封裝需要的函數,這樣也就實現了我們的需要。
另外,有人還推薦了另外一種方法,就是使用一個控制器,在控制器中的類中封裝靜態的方法,在需要的地方,引入所需的控制器,也可以實現我們的需求。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家學習或者使用laravel能有一定的幫助,如果有疑問大家可以留言交流。