有啥方法可以在 laravel 5.6 中找出路由文件的当前路径? [复制]

Posted

技术标签:

【中文标题】有啥方法可以在 laravel 5.6 中找出路由文件的当前路径? [复制]【英文标题】:is there any method to find out current path of route file in laravel 5.6? [duplicate]有什么方法可以在 laravel 5.6 中找出路由文件的当前路径? [复制] 【发布时间】:2020-05-17 19:19:37 【问题描述】:

我已经开始在一个现有的 laravel 项目中工作,我发现所有的路由都像往常一样放在 routes/web.php 中。但是当我声明一条新路线时,它甚至无法在工匠route:list 命令上找到。

所以到目前为止我尝试的是找出现有路由的工作方式,因为我刚刚从现有 routes/web.php 文件中删除了一些路由,但我只是想知道它对项目没有影响。所有已删除的路由仍会重定向到控制器的指定方法,并且所有功能都可以正常工作。所以看起来有另一个文件来放置路由而不是默认的 web.php

我已经清除了所有的缓存,比如

php artisan config:cache
php artisan cache:clear
php artisan view:clear

web.php上的所有路由如下

Route::group(['middleware' => ['auth']], function() 

//all routes are declared here like
Route::get('/', 'HomeController@index'); //example route
);

那么有什么办法可以找出在幕后工作的路由文件吗?

或者真的可以更改路由文件的默认路径然后routes/web.php吗?

【问题讨论】:

这有帮助吗? ***.com/questions/37878951/… 【参考方案1】:

您已经清除了许多缓存,但没有清除您的路线缓存。

尝试运行php artisan route:clear 以清除您的路由缓存。

在您运行 php artisan route:cache 后,您的路线会被缓存,这有时会包含在您的 composer.json 脚本中,因此您甚至可能在不知不觉中发生这种情况。

【讨论】:

【参考方案2】:

有一个文件可用于所有路由设置app/Providers/RouteServiceProvider.php。它有方法 map(),它绑定了两个路由文件——web 和 API:

    public function map()
    
        $this->mapApiRoutes();

        $this->mapWebRoutes();

    

    protected function mapWebRoutes()
    
        Route::middleware('web')
             ->namespace($this->namespace)
             ->group(base_path('routes/web.php'));
    

    protected function mapApiRoutes()
    
        Route::prefix('api')
             ->middleware('api')
             ->namespace($this->namespace)
             ->group(base_path('routes/api.php'));
    

【讨论】:

以上是关于有啥方法可以在 laravel 5.6 中找出路由文件的当前路径? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.6 中的“绑定”中间件有啥作用?

Laravel 5.6 '/' 找到路由但未找到其他路由 AWS EC2

在 laravel 5.6 中无法使用邮递员使用 api 路由

Laravel 5.6 - 在控制器中按名称获取路由

如何在刀片文件 laravel 5.6 中获取当前路由名称

Laravel框架创建路由的方法详解