J'essaie d'obtenir un paramètre d'URL à partir d'un fichier de vue.
J'ai cette URL:
http://locahost:8000/example?a=10
et un fichier view nommé example.blade.php
.
À partir du contrôleur, je peux obtenir le paramètre a
avec $request->input('a')
.
Existe-t-il un moyen d'obtenir ce paramètre de la vue (sans avoir à le transmettre du contrôleur à la vue)?
Cela fonctionne bien:
{{ app('request')->input('a') }}
Où a
est le paramètre url.
Voir plus ici: http://blog.netgloo.com/2015/07/17/Lumen-getting-current-url-parameter-within-a-blade-view/
Le plus court chemin que j'ai utilisé
{{ Request::get('a') }}
Plus simple dans Laravel 5.7 et 5.8
{{ Request()->parameter }}
Cela fonctionne bien pour moi:
{{ app('request')->input('a') }}
Ex: pour obtenir un paramètre de pagination sur la vue en lame:
{{ app('request')->input('page') }}
Vous pouvez exposer publiquement la façade Input
via un alias dans config/app.php
:
'aliases' => [
...
'Input' => Illuminate\Support\Facades\Input::class,
]
Et accéder à l'URL $_GET
valeurs de paramètre utilisant la façade directement dans la vue/le modèle de lame:
{{ Input::get('a') }}
Selon les documents officiels 5.8 :
La fonction request () renvoie l'instance de la requête actuelle ou obtient un élément d'entrée:
$request = request();
$value = request('key', $default);
Laravel 5.6:
{{ Request::query('parameter') }}
Laravel 5.8
{{ request()->a }}
Compte tenu de votre URL:
http://locahost:8000/example?a=10
La meilleure façon que j'ai trouvée pour obtenir la valeur de 'a' et l'afficher sur la page consiste à utiliser les éléments suivants:
{{ request()->get('a') }}
Toutefois, si vous souhaitez l’utiliser dans une instruction if, vous pouvez utiliser:
@if( request()->get('a') )
<script>console.log('hello')</script>
@endif
J'espère que ça aide quelqu'un! :)