Laravel 增加自定义全局函数

有时候我们需要给 Laravel 添加一些自定义全局函数。当然,我们可以直接修改 Laravel 的 Helpers.php 文件来实现(这是极其不推荐的)。接下来我们讨论以下两种实现方式:

无论是以下哪种方式,都必须创建包含自定义函数的 PHP 文件

  • 方式一:修改 Laravel 根目录下 bootstrap/autoload.php 文件

  • 方式二:修改 composer.json 的 autoload 配置,并更新 composer 的 autoload_files.php 文件

创建包含自定函数的 PHP 文件 functions.php,文件位置在 Laravel 根目录的 app/Helpers目录下

1
2
3
4
5
6
7
8
<?php
// 判断函数是否已经存在
if (!function_exists('test')) {
function test()
{
return "test";
}
}

方式一:

修改 Laravel 根目录下 bootstrap/autoload.php 文件,引入自定义函数

1
2
3
<?php   
// 引入自定义全局函数
require __DIR__ . '/../app/Helpers/functions.php';

方式二:

修改 composer.json 的 autoload 配置项,在 files 中加入要引入的自定义函数文件

1
2
3
4
5
6
7
"autoload": {
...
...
"files": [
"app/Helpers/functions.php"
]
},

更新 composer 的 autoload_files.php 文件,进入项目根目录执行下面命令

1
composer dump-autoload