栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

通过命令行调用laravel控制器

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过命令行调用laravel控制器

到目前为止,还没有办法(不确定是否会发生)。但是,您可以创建自己的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标头。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/373353.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号