Appearance
详解如何在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-autoloadModel 默认不能批量
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);
}
}