ルーメン:ブレードビューでURLパラメータを取得


84

ビューファイルからurlパラメータを取得しようとしています。

私はこのURLを持っています:

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

およびという名前のビューファイルexample.blade.php

コントローラから、でパラメータaを取得できます$request->input('a')

そのようなパラメーターをビューから取得する方法はありますか(コントローラーからビューに渡す必要はありません)?


$_GET[]アレイにアクセスすることはできますが、そうすることはお勧めしません。コントローラーからビューに渡す必要がありますが、なぜそうしたくないのかわかりません。
ティムルイス

@TimLewis多くのパラメーターがあると煩わしい可能性があるため、コントローラーから渡すことは避けます。ビューから直接取得する方法があると、より迅速になります。
アンドレア

コントローラーからビューに多くの変数を定義して渡すのは面倒かもしれませんが、私はいつでも悪い習慣に面倒を感じるでしょう...
ティムルイス

ビューで$ requestに直接アクセスできない理由と、$ _ GET、$ _ POST、$ _ REQUESTに直接アクセスすることが悪い習慣である理由を考えてください
mvladk 2015

@mvladk本当、実際。フレームワークは、これらの変数から潜在的に悪いデータを削除します。
Bhargav Nanekalva 2016年

回答:


110

これはうまく機能します:

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

aurlパラメータはどこにありますか。

詳細はこちら:http//blog.netgloo.com/2015/07/17/lumen-getting-current-url-parameter-within-a-blade-view/


これにより、すべてのパラメータが返されますapp('request')->request->all()
dav 2017

私のURLがlocahost:8000 / example / 10の ようで、値10を取得したい場合はどうなりますか?@Andrea
Sajeeb Ahamed

@SajeebAhamedこれを新しい質問として尋ねた方がいいです:stackoverflow.com/questions/ask
Andrea


25

あなたのURLを考えると:

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

'a'の値を取得してページに表示するための最良の方法は、次を使用することです。

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

ただし、ifステートメント内で使用する場合は、次を使用できます。

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

それが誰かを助けることを願っています!:)



9

これは私にとってはうまくいきます:

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

例:ブレードビューでページネーションパラメータを取得するには:

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


7

次のInputエイリアスを介してファサードを公開できますconfig/app.php

'aliases' => [
    ...

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

そして$_GET、ブレードビュー/テンプレート内のファサードを直接使用してURLパラメータ値にアクセスします。

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

ルーメンには/ configフォルダーがありますか?
マヘファ

7

公式の5.8ドキュメントによると:

request()関数は、現在のリクエストインスタンスを返すか、入力アイテムを取得します。

$request = request();

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

ドキュメント



1

ルートとパスのパラメータを使用する場合は、ブレードファイルでこのコードを使用してください

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

0

あたりとして公式ドキュメントの8.xの

ヘルパーを使用します request

リクエスト関数は、現在のリクエストインスタンスを返すか、現在のリクエストから入力フィールドの値を取得します。

$request = request();

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

requestの値は配列であり、次のように入力キーを使用して入力を簡単に取得できます。

$id = request()->id; //for http://locahost:8000/example?id=10
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.