Skip to content

详解如何在Laravel中增加自定义全局函数

前言

在日常开发工作中,有时候我们需要给 Laravel 添加一些自定义全局函数。当然,我们可以直接修改 Laravel 的 Helpers.php 文件来实现(这是极其不推荐的)。

接下来我们讨论以下两种实现方式:

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

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

php
// 修改 Laravel 根目录下 bootstrap/autoload.php 文件,引入自定义函数
<?php               
// 引入自定义全局函数              
require       __DIR__.'/../app/Helpers/functions.php';

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

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

"autoload": {
        "files": [
            "app/helpers.php"
        ]
    },

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

composer dump-autoload

Model 默认不能批量

php
class Model extends \Illuminate\Database\Eloquent\Model
{
    use DateTimeFormat, HasModelLog, CheckTableDefaultValue;

    protected $guarded = ['id']; //不能被批量赋值的属性

    protected function asJson($value): bool|string
    {
        return json_encode($value, JSON_UNESCAPED_UNICODE);
    }
}

Lucking