在Laravel 5中将路径中的变量传递给控制器

时间:2015-11-30 10:19:36

标签: php laravel controller routes laravel-5

有没有办法将$ _SERVER [' REQUEST_URI']变量传递给Laravel 5中的控制器?

4 个答案:

答案 0 :(得分:1)

您可以立即访问$_SERVER,或使用正确的请求包装器使用更“'laravelish'的方式:Request::server('REQUEST_URI')$request->getRequestUri()

答案 1 :(得分:1)

我的解决方案只有在您没有明确要求$ _SERVER [&#39; REQUEST_URI&#39;]时才有效,说实话我觉得这种方法更简单易用。 < / p>

好吧,如果你想从URL传递一个变量,那就更简单了。如果你在这样的laravel刀片页面中传递一个URL ...

<a href="/details/{{ $id }}/{{ $firstname }}">Pass Details</a>

然后,您可以简单地从路线访问变量,然后将它们发送到控制器。

Route::get('/details/{id}/{firstname}', 'PagesController@ThisMethod');

该变量现在存储为$ id和$ firstname,现在可以从您的控制器访问,最后在您的控制器中,您可以使用这些变量执行所需的操作。

public function ThisMethod($id, $firstname){
    dd($id, $firstname);
}

答案 2 :(得分:0)

您可以将$request变量添加到控制器功能中。此变量包含有关请求的所有信息,包括路径。

例如:

Route::get('/test/url', function (\Illuminate\Http\Request $request) {
    dd($request->getRequestUri());
});

将输出

"/test/url"

有关请求变量的详细信息,您可以访问the documentation

答案 3 :(得分:0)

由于Laravel使用Symfony的 HttpFoundation 组件来管理请求/响应流程。

它提供了获取服务器变量的有用功能。只需将$request变量作为参数添加到控制器功能&amp;然后使用:

访问
  1. $ request-&gt; getRequestUri()//返回请求的URI(路径和查询字符串)。
  2. $ request-&gt; getUri()//为请求生成规范化的URI(URL)。
  3. 有关其他功能,请参阅:http://api.symfony.com/2.7/Symfony/Component/HttpFoundation/Request.html