我使用了这个包裹:
https://github.com/InfyOmLabs/laravel-generator
我想在内部覆盖函数“ generateScaffoldItems()”
https://github.com/InfyOmLabs/laravel-generator/blob/develop/src/Commands/BaseCommand.php#L104
我复制了此函数,并在自己的模块中重写,然后在Laravel Provider中注册
MyOverrideClass.php
public function generateScaffoldItems()
{
//override...
}
MyOverrideProvider.php
public function register()
{
//
$this->app->booting(function() {
$loader = AliasLoader::getInstance();
$loader->alias('InfyOm\Generator\Commands\BaseCommand','App\Overrides\MyOverrideClass');
});
但是没有用。
是否有可能或者更好的方法来覆盖此功能?
答案 0 :(得分:0)
alias方法仅适用于从IOC解析的类或服务。您不能期望覆盖基类又会使用类似的方法覆盖从基类派生的所有类。
唯一的方法是覆盖您最终要覆盖的所有命令类,并在Kernel.php中注册新命令