2015-07-09 7 views
26

Próbuję uzyskać parametr adresu URL z pliku widoku.Lumen: pobierz parametr adresu URL w widoku Blade

mam ten URL:

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

i widok plik o nazwie example.blade.php.

Ze sterownika mogę uzyskać parametr a z $request->input('a').

Czy istnieje sposób na uzyskanie takiego parametru z widoku (bez konieczności przekazywania go z kontrolera do widoku)?

+0

Można uzyskać dostęp do '$ _GET []' tablicę, ale byłoby miło polecam robienie tego. Powinieneś przekazać go ze sterownika do widoku, nie wiesz, czemu nie chcesz. –

+0

@ TimLewis Unikałbym przekazywania go z kontrolera, ponieważ jeśli mam wiele parametrów, może to być denerwujące i powinien być szybszy sposób, aby uzyskać go bezpośrednio z widoku. – Andrea

+0

Sądzę, że może być żmudne definiowanie i przekazywanie wielu zmiennych z kontrolera do widoku, ale każdego dnia brałbym nudę na złe praktyki ... –

Odpowiedz

50

Działa to dobrze:

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

Gdzie a jest parametr URL.

Zobacz więcej tutaj: http://blog.netgloo.com/2015/07/17/lumen-getting-current-url-parameter-within-a-blade-view/

+0

to zwróci wszystkie parametry 'app ('request') -> request-> all()' – dav

+0

jaki byłby sposób, jeśli mój adres URL jest podobny do http: // locahost: 8000/example/10 i chcę uzyskać wartość 10. @Andrea –

+0

@SajeebAhamed Lepiej zapytaj o to jako nowe pytanie: http://stackoverflow.com/questions/ask – Andrea

5

można publicznie wystawiać Input elewacji poprzez alias w config/app.php:

'aliases' => [ 
    ... 

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

i dostęp url $_GET wartości parametrów za pomocą elewacji bezpośrednio wewnątrz Blade view/szablonu:

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

To działa dobrze dla mnie:

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

Ex: dostać paginacji param na widok ostrza:

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

Najkrótsza droga Użyłem

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