À l'aide de $input->tous les() à la place de l'Entrée::all() Laravel-5
Je suis en train d'utiliser $input->all()
par opposition à Input::all()
dans Laravel-5, toutefois, il ne semble pas aimer ça, même si je suis de passage à l'Entrée de référence à la fonction, comme suit:
/**
* Search for a specified resource.
*
* @return Response
*/
public function search(Booking $booking, Input $input)
{
dd($input->all()); //this doesn't work
dd(Input::all()); //this DOES work
}
L'erreur que j'obtiens est:
Call to undefined method Illuminate\Support\Facades\Input::all()
Quelqu'un aurait-il une solution à ce problème?
OriginalL'auteur V4n1ll4 | 2015-06-30
Vous devez vous connecter pour publier un commentaire.
Je ne pense pas que vous êtes censé injecter des Façades dans vos Contrôleurs.
Input
est une façade pourIlluminate\Http\Request
et c'est le conteneur de service de liaison estrequest
. Donc, d'après la documentation, dans Laravel 5 vous pouvez faireRequest::all()
et dans Laravel 5.1 vous pouvez faire$request->all()
http://laravel.com/docs/5.0/requests#retrieving-input
http://laravel.com/docs/5.1/requests#retrieving-input
EDIT: Ce post donne un peu plus en profondeur de l'information: https://stackoverflow.com/a/29961400/2433843
EDIT3: je pense que ce serait formidable si quelqu'un pouvait expliquer exactement POURQUOI vous ne pouvez pas injecter des Façades dans vos Contrôleurs. Je comprends DI et les Façades sont deux choses différentes, et L5+ est de pousser les développeurs vers DI. Je n'arrive pas à comprendre exactement pourquoi l'injection d'une façade ne fonctionne pas, car il pointe vers une autre classe, et il fonctionne lorsque vous n'avez pas l'injecter. Ne pas oublier les Façades et les Alias sont séparer les deux choses. J'espère que quelqu'un peut en dire plus sur ce.
OriginalL'auteur Francesco de Guytenaere
Une chose plus importante à propos de l'utilisation Demande ou Entrée pour accéder à l'Entrée de l'Utilisateur est la version de Laravel que vous utilisez.
Dans le Laravel 4.2 et à l'avant, vous pouvez avoir accès à la d'Entrée::all(), Input::get() mais de Laravel à partir de 5, il a été suggéré d'utiliser l'Entrée via Demande façade
Ref: https://laravel.com/docs/5.2/requests
Dans le cas où si vous souhaitez faire usage de Entrée dans Laravel 5.0 et au-delà, alors vous devez ajouter cette façade dans le config/app.php fichier sous le alias section 'Input' => Éclairer\Support\Façades\Input::classe
Une fois que vous ajoutez la façade sous un alias, vous devriez commencer à l'aide de l'Entrée::all()'
Espère que cela aide certains autres, qui ont de la confusion quant à savoir si l'utilisation de 'Entrée' ou 'Demande' pour Laravel 5.0 et ultérieures.
OriginalL'auteur Vinod Tigadi