Composer是 PHP 用来管理依赖(dependency)关系的工具。它会在项目中生成一个vernder目录,里面存在着下载的扩展。当使用的扩展不满足需求时,我们就要重构它。
以laravel-dcat为例:扩展验证
我重构了dcat的登录验证,但是这样在vender中修改。当进行 composer update
更新时,vender中的内容将会被重置,这样原本写的内容一下回到解放前。
so
新建文件
autoload.php
,这里我放到app\Overwrite
中1
2
3
4
5
6
7
8
9
spl_autoload_register(function ($class) {
$map = [
'Dcat\Admin\Http\Controllers\AuthController' => __DIR__ . '/AuthController.php'
];
if (isset($map[$class])) include $map[$class];
}, true, true);AuthController中的内容需要全部复制的,不是继承!
在
composer.json
中加入autoload.php重新加载
composer dump-autoload
至此,完成!