【发布时间】:2020-12-26 15:30:26
【问题描述】:
我正在编写一个命令行工匠脚本,并希望利用现有的执行一些复杂计算的操作。
是否可以从 Artisan 脚本调用控制器动作?
【问题讨论】:
-
当然,但最好将代码从控制器中重构出来
-
我认为你需要从你的控制器中提取逻辑代码并创建一个服务来简化你的控制器和你的脚本。
标签: laravel laravel-5 laravel-artisan
我正在编写一个命令行工匠脚本,并希望利用现有的执行一些复杂计算的操作。
是否可以从 Artisan 脚本调用控制器动作?
【问题讨论】:
标签: laravel laravel-5 laravel-artisan
是的。
app()->call('App\Http\Controllers\MyController@myMethodName');
传递参数:
$params = ['param1'=>1, 'param2' => '2'];
$controller = app()->make('App\Http\Controllers\MyController');
app()->call([$controller, 'myMethodName'], $params);
【讨论】:
POST 操作,它需要一个Request 参数和其他一些参数。