1 辅助函数
Laravel 包含各种各样的全局 PHP 「辅助」函数,框架本身也大量的使用了这些功能函数;如果你觉的方便,你可以在你的应用中任意使用这些函数。框架提供的辅助函数比较多,可以借鉴以下内容:
https://learnku.com/docs/laravel/8.x/helpers/9393
有时候框架提供的辅助函数不够用,需要自己创建。而这些函数又不能放在 Laravel 框架的助手函数文件中,这时候就需要自己定义助手函数。
如果需要创建自定义助手辅助函数有以下两种方式可以实现:
1.自动加载 加载辅助函数;
2.服务提供者 加载辅助函数;
2 自动加载
自动加载是借助 composer 来实现的,我们需要创建自己的辅助函数文件,然后让该文件可以自动的加载进来。
我们把函数定义在 app/helpers.php 文件中,但是这个文件并不会被 composer 自动加载,如果要 composer 自动加载器加载我们定义的函数文件,需要在自动加载中添加辅助函数的文件。如下:
"autoload": {
"files": [
"app/Helpers/helper.php"
]
},
添加完毕后我们还需要更新映射 - composer dump-autoload。
3 服务提供者
有时候我们会创建一个函数,在任何地方都可以调用,这个和 laravel 自带的助手函数类似。前面我们通过 自动加载 的方式添加了自定义的辅助函数文件,然后通过 composer.json 中添加自动加载这个文件。但是随着文件的增长,这个文件会变得很难管理。这里我们还可以通过服务提供者来帮助我们实现这个功能。
服务提供者中存在两个方法:
register - 该方法是在框架执行中执行的方法,在 boot 方法之前执行。
boot - 在所有的 register 方法之后才会加载;
如果需要在框架加载过程中就运用该函数,可以放到 register 方法中。否则可以在 boot 方法中编写。
foreach(glob(app_path('Helpers') . '/*.php') as $file) {
require_once $file;
}