laravel创建类似ThinPHP中functions.php的全局函数
程序员文章站
2024-03-04 22:23:00
前言
一直觉得thinphp中的公共函数是一个很好的设计,因为我们只需要在functions.php中对共用的函数进行封装,然后就可以在全局直接进行调用了。其实larav...
前言
一直觉得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能有一定的帮助,如果有疑问大家可以留言交流。