一、需求

我在使用 Laravel 进行错误信息的通知的时候,有些时候还可能会进行 success 的信息通知,因此需要自己的一套方法去 flash 错误信息。

这个方法又必须得是一个全局函数,因此需要给 Laravel 创建全局的公共函数

二、实现

1、创建文件

app 创建文件夹 Helpers,并且在其中创建文件 functions.php

2、自动加载

由于 5.5 之后, bootstrap/autoload.php 已经不存在了,因此无法直接在其中进行文件加载

需要配置 composer.json:

将下面的代码进行配置:

"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/"
    }
},

配置后:

"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/"
    },
    "files": [
        "app/Helpers/functions.php"
    ]
},

执行 composer 命令,使其自动加载:

composer dump-auto

三、编写全局函数

全局方法都可以在 functions.php 中写, 并且可以随便使用

四、注意事项

files 里面写的的路径一定要和实际上文件的路径是一样的,我遇到过这个坑。。

在windows上开发的时候,因为无所谓大小写,所以 Helpers 这个文件夹我在 conposer 中写成了 helpers,导致一直无法加载文件,查看log,报下面的错误:

1.jpg