【问题标题】:url parameter - laravelurl 参数 - laravel
【发布时间】:2021-02-17 00:42:55
【问题描述】:

我们的用户使用 url 上的唯一参数访问我们的网站。即http://example.com/hire-agreement?u=unique_param

我已经设置了通往视图的路线 -

Route::get('/hire-agreement', function () {
    return view('hire-agreement');
});

我有 2 个问题。

  1. 是否需要向 Route 添加任何其他内容以允许在视图中读取参数?
  2. 如何在视图中读取此参数值?我可以使用$_GET["name"]) 吗?

谢谢 克雷格。

【问题讨论】:

标签: php laravel


【解决方案1】:

你最好将请求传递给控制器​​并在那里处理它,这样更容易更干净。但是如果你想直接从路由到视图,你最好使用下面的方法。 把它放在你的路由文件中

Route::get('/hire-agreement/{param}', function ($param) {
    return view('hire-agreement')->with($param);
});

在视图中你可以像这样访问参数

<p>{{$param}}</p>

现在如果用户请求“/hire-agreement/1234”,您的视图中的 $param 将包含 1234,此外,如果您想访问 url 中的获取参数,您可以这样做

{{Request::input('q')}}

【讨论】:

    【解决方案2】:

    您在 url 部分不需要更多内容。并使用或获取 url 参数使用 laravel request() helper。

    $value = request('key');
    

    在视图中你可以打印一个像这样的键

    {{ request('name') }}
    

    使用请求助手的完整示例

    Route::get('/hire-agreement', function () {
        $name = request('name'); //put the key in a variable
        return view('hire-agreement', compact('name')); //send the variable to the view
    });
    

    然后在视图中你可以使用变量作为

    {{ $name }}
    

    如果你不想使用变量,你可以直接在视图中使用请求助手

    {{ request('name') }}
    

    你也可以使用 Request 类。

    Route::get('/hire-agreement', function (Request $request) {
        $name = $request->name;
        return view('hire-agreement', compact('name'));
    });
    

    但是我建议您使用控制器。不要在路由文件中使用闭包。你不能在需要的时候缓存它们。

    【讨论】:

    • 谢谢,你能告诉我把$value = request('key');放在哪里吗?我不明白我为什么需要这条线?
    • 这只是一个例子。您可以在视图和控制器中使用它。这里我只是将请求键放在一个变量中。
    【解决方案3】:

    http://example.com/hire-agreement?u=unique_param

    在 laravel 中,您可以同时访问 postget 可以通过 Request 类实例或 request() 助手访问,这样您就可以做到

    有助手request()

    Route::get('/hire-agreement', function () {
        dd(request('u')) //  this getting from url ?u=unique_param this u param
        return view('hire-agreement');
    });
    

    Request

    Route::get('/hire-agreement', function (Request $request) {
        dd($request->u)) //  this getting from url ?u=unique_param this u param
        return view('hire-agreement');
    });
    

    这里可以

    【讨论】:

      猜你喜欢
      • 2015-11-16
      • 2020-08-09
      • 2020-10-22
      • 2019-02-24
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      • 2020-03-12
      • 2018-01-27
      相关资源
      最近更新 更多