laravel中自定义辅助函数

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;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容