PHP更改自动加载的顺序

composer的锅

自从PHPer们用上了composer后,对于传统的加载方式倒是不会用了,可谓是“收之东隅,失之桑榆”。
下面说一下怎么改变加载顺序来覆写Laravel中的helper函数。

1. 直接require

打开Laravel的入口文件 index.php,可以看到require __DIR__.'/../vendor/autoload.php';,比如我们覆写today函数
可以app目录下增加一个helper.php,然后覆写,


<?php
use Carbon\Carbon;

function today()
{
return Carbon::today("PRC")->toDateTimeString();
}

改为字符串,新建一个路由,测试一下,发现如愿返回了字符串。

2. 使用composer-include-files

先安装composer require funkjedi/composer-include-files
然后编辑composer.json,在extra项里添加include_files


{
"extra": {
"include_files": [
    "app/helpers.php"
    ]
},
}

注意在此之前,得先把helper.php放到自动加载项里

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

运行composer dump,可以看到在vendor/composer/autoload_files.php里,我们的helper.php被放到了最前面

posted @ 2018-08-31 17:54  半山无极  阅读(636)  评论(0编辑  收藏