Php 如何调用控制台->;命令->;laravel中控制器内部的句柄功能
我想在控制器中调用这个句柄函数Php 如何调用控制台->;命令->;laravel中控制器内部的句柄功能,php,laravel,Php,Laravel,我想在控制器中调用这个句柄函数 class SendPackageInfoSms extends Command { public function handle($mobile, $msg) { $notify = new Notification; $notify->PackageSMS($mobile, $msg); } } 不可能!!您可以执行命令form controller,但不能调用此函数form controller 您可
class SendPackageInfoSms extends Command
{
public function handle($mobile, $msg)
{
$notify = new Notification;
$notify->PackageSMS($mobile, $msg);
}
}
不可能!!您可以执行命令form controller,但不能调用此函数form controller 您可以通过以下命令直接从控制器调用Laravel命令
Artisan::call('command:signature', [your_parameters_go_here]);
请记住在文件顶部包含Artisan facade
调用该命令将自动执行句柄函数。不,不能。这用于任务调度(CRON)。你唯一能做的就是调用schedulerI会建议你一种方法,你可以归档你的需求,创建一个控制器函数,并在处理函数中使用它们。因此,所有代码“$notify=new notify;$notify->PackageSMS($mobile,$msg);”都将是一个控制器的一部分,然后您可以使用同一个控制器函数和另一个控制器函数。这是一个很好的例子,说明了为什么不应该将任何业务逻辑直接放在控制器或命令中。业务逻辑应该放在服务中,然后您可以在任何需要的地方使用它。请说明您当前如何执行命令,即如果它是从cli执行的,您使用的命令是什么。Route::get('/foo',function(){$exitCode=Artisan::call('email:send',['user'=>1',--queue'=>default']);//}; #以编程方式执行命令