Php 将变量从route传递到Laravel 5中的控制器

Php 将变量从route传递到Laravel 5中的控制器,php,laravel,controller,routes,laravel-5,Php,Laravel,Controller,Routes,Laravel 5,有没有办法将$\u SERVER['REQUEST\u URI']变量传递给Laravel 5中的控制器?您可以将$REQUEST变量添加到控制器函数中。此变量包含有关请求的所有信息,包括路由 例如: Route::get('/test/url', function (\Illuminate\Http\Request $request) { dd($request->getRequestUri()); }); 将输出 "/test/url" 有关请求变量的更多信息,您可以访问。

有没有办法将$\u SERVER['REQUEST\u URI']变量传递给Laravel 5中的控制器?

您可以将
$REQUEST
变量添加到控制器函数中。此变量包含有关请求的所有信息,包括路由

例如:

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

"/test/url"

有关请求变量的更多信息,您可以访问。

您可以立即访问
$\u SERVER
,或者对适当的请求包装器使用更“laravelish”的方式:
request::SERVER('request\u URI')
$request->getRequestUri()

因为Laravel正在使用Symfony的HttpFoundation组件来管理请求/响应流

它提供了获取服务器变量的有用函数。只需将
$request
变量作为参数添加到控制器函数中,然后使用以下方法访问:

  • $request->getRequestUri()//返回请求的URI(路径和查询字符串)
  • $request->getUri()//为请求生成规范化的URI(URL)

  • 有关其他功能,请参阅:

    我的解决方案仅在您不明确要求$\u SERVER['REQUEST\u URI']时有效,老实说,我发现此方法更简单,也更易于使用。

    如果要从URL传递变量,有更简单的方法。如果你在像这样的laravel刀片页面中传递url

    <a href="/details/{{ $id }}/{{ $firstname }}">Pass Details</a>
    
    变量现在存储为$id和$firstname,现在可以从控制器访问,最后在控制器中,您可以使用这些变量执行任何操作

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

    从哪里传来?
    $\u SERVER
    不是一个PHP全局变量,因此可以在任何地方使用吗?从routes.PHP传递到controller。我需要知道routes.php中的URL是什么,然后才将其保存到控制器。正如我所说,
    $\u服务器
    不会更改。您可以从控制器访问它。
    public function ThisMethod($id, $firstname){
        dd($id, $firstname);
    }