【问题标题】:Lumen: get URL parameter in a Blade viewLumen:在 Blade 视图中获取 URL 参数
【发布时间】:2015-09-28 06:14:53
【问题描述】:

我正在尝试从视图文件中获取 url 参数。

我有这个网址:

http://locahost:8000/example?a=10

还有一个名为example.blade.php视图文件。

从控制器我可以得到参数a$request->input('a')

有没有办法从视图中获取此类参数(无需将其从控制器传递到视图)?

【问题讨论】:

  • 您可以访问$_GET[] 数组,但我不建议这样做。你应该把它从控制器传递给视图,不知道为什么你不想这样做。
  • @TimLewis 我会避免从控制器传递它,因为如果我有很多参数可能会很烦人,并且应该更快地直接从视图中获取它。
  • 我想定义大量变量并将其从控制器传递到视图可能会很乏味,但我会在任何一天都接受不良做法的乏味......
  • 想想为什么不能在view中直接访问$request,还有为什么直接访问$_GET,$_POST,$_REQUEST是不好的做法
  • @mvladk 是真的,实际上。框架会从这些变量中删除潜在的不良数据。

标签: php laravel blade lumen


【解决方案1】:

这很好用:

{{ app('request')->input('a') }}

其中a是url参数。

在此处查看更多信息:http://blog.netgloo.com/2015/07/17/lumen-getting-current-url-parameter-within-a-blade-view/

【讨论】:

【解决方案2】:

您可以通过config/app.php 中的别名公开Input 外观:

'aliases' => [
    ...

    'Input' => Illuminate\Support\Facades\Input::class,
]

并直接在 Blade 视图/模板中使用外观访问 url $_GET 参数值:

{{ Input::get('a') }}

【讨论】:

  • Lumen 有 /config 文件夹吗?
【解决方案3】:

这对我来说很好用:

{{ app('request')->input('a') }}

例如:在刀片视图上获取分页参数:

{{ app('request')->input('page') }}

【讨论】:

    【解决方案4】:

    我用过的最短路径

    {{ Request::get('a') }}
    

    【讨论】:

    • 这是在哪里记录的?
    【解决方案5】:

    Laravel 5.6:

    {{ Request::query('parameter') }}
    

    【讨论】:

    • 请添加一些解释。
    【解决方案6】:

    在 Laravel 5.7 和 5.8 中更简单

    {{ Request()->parameter }}
    

    【讨论】:

    • 完美运行,谢谢!
    【解决方案7】:

    Laravel 5.8

    {{ request()->a }}
    

    【讨论】:

      【解决方案8】:

      给定你的网址:

      http://locahost:8000/example?a=10
      

      我发现获取“a”的值并将其显示在页面上的最佳方法是使用以下内容:

      {{ request()->get('a') }}
      

      但是,如果你想在 if 语句中使用它,你可以使用:

      @if( request()->get('a') )
          <script>console.log('hello')</script>
      @endif
      

      【讨论】:

        【解决方案9】:

        根据官方 5.8 文档:

        request()函数返回当前请求实例或获取输入项:

        $request = request();
        
        $value = request('key', $default);
        

        Docs

        【讨论】:

          【解决方案10】:

          如果您使用路由并传递参数,请在您的刀片文件中使用此代码

          {{dd(request()->route()->parameters)}}
          

          【讨论】:

            【解决方案11】:

            根据official documentation 8.x

            我们使用助手request

            请求函数返回当前请求实例或获取 当前请求中输入字段的值:

            $request = request();
            
            $value = request('key', $default);
            

            请求的值是一个数组,您可以使用输入键简单地检索您的输入,如下所示

            $id = request()->id; //for http://locahost:8000/example?id=10
            

            【讨论】:

              猜你喜欢
              • 2015-11-21
              • 2015-09-25
              • 2021-02-12
              • 2018-06-30
              • 2012-12-11
              • 1970-01-01
              • 1970-01-01
              • 2017-01-13
              • 1970-01-01
              相关资源
              最近更新 更多