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被放到了最前面
作者:半山
出处:http://www.cnblogs.com/xdao/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。