如何编写工匠命令以在 Laravel 中搜索特定路线名称
Posted
技术标签:
【中文标题】如何编写工匠命令以在 Laravel 中搜索特定路线名称【英文标题】:How to write artisan command to search for specific routes name in Laravel 【发布时间】:2019-10-17 15:54:29 【问题描述】:我正在为 Laravel 编写命令以搜索特定的路由模式。
我创建了带有参数 route 的命令,它执行 bash 命令并回显结果。
protected $signature = 'routes:find route';
public function handle()
echo exec('php artisan route:list | grep '.$this->argument('route'));
问题是该命令在一行中输出路由,并且不提供任何格式,如默认的route:list
命令。
【问题讨论】:
【参考方案1】:如果您exec
该命令,它将无法在 Windows 中运行。此外,也不能保证grep
命令也存在。
你为什么不按照原来的route:list
命令实现?
如果您检查RouteListCommand.php
文件(在您的vendor
目录中搜索它),您会找到一种更好的方法来搜索路线,从这里开始
public function __construct(Router $router)
parent::__construct();
$this->router = $router;
$this->routes = $router->getRoutes();
正确的做法是委托Illuminate\Routing\Router
对象为你提供路由。
【讨论】:
以上是关于如何编写工匠命令以在 Laravel 中搜索特定路线名称的主要内容,如果未能解决你的问题,请参考以下文章