Laravel路由组-控制器中的使用值

Laravel Routing Group - use value in Controller

我的所有请求都以前缀开头,因此我创建了一个具有多个端点的路由组:

routes/web.php

Route::group(array('prefix' => $prefix), function() { 
    Route::get("/test/test2/{lang}", ['uses' => 'TestController@test2']);
    ...
});

控制器:

class TestController {
  public function test2(Request $request, $lang) {}
}

通过以下测试URL:

domain.com/customprefix/test/test2/en

我到达我的控制器并可以访问 $lang (=en)。但是如何将 $prefix 传递给我的控制器方法呢? (在这个例子中它应该评估为 "customprefix")

很遗憾,我没有在文档或 API 规范中找到相关信息。

您是否已尝试使用路由前缀? .如果没有,那么它应该是这样的

public function test2(Request $request, $lang){
   dd($request->route()->getPrefix());
}

在您的 Controller 中,您可以获得以下解决方案之一的前缀:

1.With $reques:

 public function TestController(\Illuminate\Http\Request $request)
{
  $request->route()->getPrefix();
}

2.Without $request:

$this->getRouter()->getCurrentRoute()->getPrefix()