到目前为止,还没有办法(不确定是否会发生)。但是,您可以创建自己的Artisan
Command来执行此操作。
CallRoute使用以下命令创建命令:
php artisan make:console CallRoute
对于Laravel 5.3或更高版本,您需要使用
make:command:
php artisan make:command CallRoute
这将在中生成命令类
app/Console/Commands/CallRoute.php。该类的内容应如下所示:
<?php namespace AppConsoleCommands;use IlluminateConsoleCommand;use SymfonyComponentConsoleInputInputOption;use IlluminateHttpRequest;class CallRoute extends Command { protected $name = 'route:call'; protected $description = 'Call route from CLI'; public function __construct() { parent::__construct(); } public function fire() { $request = Request::create($this->option('uri'), 'GET'); $this->info(app()['IlluminateContractsHttpKernel']->handle($request)); } protected function getOptions() { return [ ['uri', null, InputOption::VALUE_REQUIRED, 'The path of the route to be called', null], ]; }}然后,您需要通过将命令添加到
$commands数组中来注册该命令
app/Console/Kernel.php:
protected $commands = [ ..., 'AppConsoleCommandsCallRoute',];
现在,您可以使用以下命令呼叫任何路线:
php artisan route:call --uri=/route/path/with/param
请注意,此命令将返回响应,就像发送到浏览器一样,这意味着它在输出的顶部包含HTTP标头。



