laravel创建类似ThinPHP中functions.php的全局函数

yipeiwu_com6年前PHP代码库

前言

一直觉得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能有一定的帮助,如果有疑问大家可以留言交流。

相关文章

php简单计算权重的方法示例【适合抽奖类应用】

本文实例讲述了php简单计算权重的方法。分享给大家供大家参考,具体如下: //简单权重计算器 $data222=array( 0=>array('id'=>1,'na...

php中抓取网页内容的实例详解

php中抓取网页内容的实例详解 方法一: 使用file_get_contents方法实现 $url = "http://news.sina.com.cn/c/nd/2016-10...

php session劫持和防范的方法

session 数据暴露会话数据常会包含一些个人信息和其它敏感数据。基于这个原因,会话数据的暴露是被普遍关心的问题。一般来说,暴露的范围不会很大,因为会话数据是保存在服务器环境中的,而不...

PHP可变函数的使用详解

PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。可变函数可以用来实现包括回调函数,函数表在内的一些用途。 变量函数不能用...

相对路径转化成绝对路径

提取 Gregarius中的一个函数。可以把网页中的相对路径自动转化成绝对路径。 <?  function relative_to_absolute(...