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自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例

本文实例讲述了PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能。分享给大家供大家参考,具体如下: 这里模拟tp框架模板变量分配与赋值操作。 ext...

[PHP]实用函数10

//将IP点分地址的字符转化回IP v4格式地址 int ip2long(string ip_address) //将IP v4格式地址转化回IP...

PHP使用Redis长连接的方法详解

本文实例讲述了PHP使用Redis长连接的方法。分享给大家供大家参考,具体如下: php-redis在github上的项目地址:https://github.com/phpredis/p...

php给图片加文字水印

注释非常的详细了,这里就不多废话了 <?php /*给图片加文字水印的方法*/ $dst_path = '/zb_users/upload/202003/qndictx...

PHP zip压缩包操作类完整实例

本文实例讲述了PHP zip压缩包操作类。分享给大家供大家参考,具体如下: <?php /** * Zip 文件包工具 * * @author wengxianh...