【问题标题】:How to get a list of web routes in laravel 5.5?如何在 laravel 5.5 中获取网络路由列表?
【发布时间】:2018-06-23 07:00:20
【问题描述】:

我尝试了以下但返回为空。

<?php

namespace App\Providers;

use Illuminate\Support\Facades\Gate;
use Illuminate\Support\Facades\Route;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;

class AuthServiceProvider extends ServiceProvider {
    public function boot() {

        $routeList = Route::getRoutes();

        foreach ($routeList as $value) {
            dd($value->getPath());
        }

    }

}

我的路线文件:

<?php    
Route::namespace('admin')->group(function () {
    Route::get('admin/post', 'PostController@index')->name('posts');
    Route::get('admin/post/new', 'PostController@new')->name('post_new');
    Route::post('admin/post/save', 'SubjectController@save')->name('post_save');
});

我尝试了几种方法,但我无法列出在 web.php 路由文件中创建的路由

【问题讨论】:

标签: php laravel laravel-5.5


【解决方案1】:

这将提供有关routes 的所有详细信息。

$routes = app('router')->getRoutes();

return  $arrays=(array) $routes;

【讨论】:

  • getRoutes() 方法给出了 RouteCollection 对象,其中包含 4 个变量,其中包含重复数据。为了专门获取所有路线,我做了:app('router')-&gt;getRoutes()-&gt;get();
【解决方案2】:

如果您想在控制器中使用它们以编程方式使用它们,那么您可以通过 Route::getRoutes() 通过 Route 类访问它们。

    use \Route;
    dd(Route::getRoutes());

但是,要查看/分析路由列表,我只需在应用程序的根目录中使用 artisan 命令行:

php artisan route:list

如果您有 bash,您甚至可以使用 grep 查找特定路线。

php artisan route:list |grep users

希望这会有所帮助。

【讨论】:

  • php artisan route:list |grep users 很有用。谢谢
猜你喜欢
  • 1970-01-01
  • 2023-03-23
  • 2018-07-05
  • 2018-08-05
  • 2018-04-30
  • 2018-06-23
  • 2019-04-02
  • 2013-08-26
相关资源
最近更新 更多