【问题标题】: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吗?

【问题讨论】:

标签: php laravel routes


【解决方案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'));
        }
    

    【讨论】:

      猜你喜欢
      • 2023-03-18
      • 2018-10-07
      • 1970-01-01
      • 2019-07-10
      • 2016-11-21
      • 1970-01-01
      • 2016-07-08
      • 2016-04-10
      • 2019-07-18
      相关资源
      最近更新 更多