Laravel 路由列表 (php artisan route:list) 在新行显示中间件
Laravel Route List (php artisan route:list) Displaying Middleware on New Lines
我最近注意到我的 Laravel 项目在终端中呈现路线列表的方式发生了变化。不再以逗号分隔中间件列,如果有多个中间件,它会将其添加到其父路由下方 table 中的新空白行。
这似乎是一个非常微不足道的问题,但是对于 laravel 来说是一个相对较新的问题,而且这是我用它制作的第一个合适的项目,我首先担心 laravel 以某种方式安装可能会在其他地方引起其他问题,并且我使用各种中间件添加的路由越多,显示所有路由时的 table 变得相当难以互操作,这在以前不是问题。
请参阅下面的路线截图 table 过滤后仅显示我项目中的 select 条路线,以便让您了解我所看到的情况。
谁知道为什么会发生这种变化,如果有办法让它恢复到以前的显示状态,方法是将所有中间件与所有其他数据保持在同一行,并以逗号分隔它们。
一时兴起,我在控制台中尝试了以下操作,但没有任何区别:
php artisan cache:clear
php artisan routes:clear
php artisan config:clear
说清楚,我希望看到的是这样的:
我得知 Laravel 几天前在他们的框架中更新了这个:
https://github.com/laravel/framework/pull/32993
这是提出这个问题的结果:
如果你想再加分号
转到您的项目文件vendor\laravel\framework\src\Illuminate\Foundation\Console
然后打开文件 RouteListCommand.php
搜索功能getMiddleware
protected function getMiddleware($route)
{
return collect($this->router->gatherRouteMiddleware($route))->map(function ($middleware) {
return $middleware instanceof Closure ? 'Closure' : $middleware;
})->implode("\n");
}
只需将 \n
更改为 ,
implode
如果您在 Laravel 8 中使用 Sanctum 时仍然遇到问题,这里是解决方法。
这条线我已经更换了
return collect($this->router->gatherRouteMiddleware($route))->map
打开这条线
return collect($route->gatherMiddleware())->map
在Laravel的核心文件中。通常,不推荐这样做,但我需要一个解决方案。有需要的也可以试试
更多详情,请访问下面link并参考我在本页的评论。
https://github.com/laravel/framework/commit/7ebd21193df520d78269d7abd740537a2fae889e
我最近注意到我的 Laravel 项目在终端中呈现路线列表的方式发生了变化。不再以逗号分隔中间件列,如果有多个中间件,它会将其添加到其父路由下方 table 中的新空白行。
这似乎是一个非常微不足道的问题,但是对于 laravel 来说是一个相对较新的问题,而且这是我用它制作的第一个合适的项目,我首先担心 laravel 以某种方式安装可能会在其他地方引起其他问题,并且我使用各种中间件添加的路由越多,显示所有路由时的 table 变得相当难以互操作,这在以前不是问题。
请参阅下面的路线截图 table 过滤后仅显示我项目中的 select 条路线,以便让您了解我所看到的情况。
谁知道为什么会发生这种变化,如果有办法让它恢复到以前的显示状态,方法是将所有中间件与所有其他数据保持在同一行,并以逗号分隔它们。
一时兴起,我在控制台中尝试了以下操作,但没有任何区别:
php artisan cache:clear
php artisan routes:clear
php artisan config:clear
说清楚,我希望看到的是这样的:
我得知 Laravel 几天前在他们的框架中更新了这个:
https://github.com/laravel/framework/pull/32993
这是提出这个问题的结果:
如果你想再加分号
转到您的项目文件vendor\laravel\framework\src\Illuminate\Foundation\Console 然后打开文件 RouteListCommand.php
搜索功能getMiddleware
protected function getMiddleware($route)
{
return collect($this->router->gatherRouteMiddleware($route))->map(function ($middleware) {
return $middleware instanceof Closure ? 'Closure' : $middleware;
})->implode("\n");
}
只需将 \n
更改为 ,
implode
如果您在 Laravel 8 中使用 Sanctum 时仍然遇到问题,这里是解决方法。
这条线我已经更换了
return collect($this->router->gatherRouteMiddleware($route))->map
打开这条线
return collect($route->gatherMiddleware())->map
在Laravel的核心文件中。通常,不推荐这样做,但我需要一个解决方案。有需要的也可以试试
更多详情,请访问下面link并参考我在本页的评论。
https://github.com/laravel/framework/commit/7ebd21193df520d78269d7abd740537a2fae889e