Qu'est-ce que la Fermeture dans Laravel?
Bonjour, je travaille en tant que laravel Débutant et j'ai vu une fonction dans middlewere et
la fonction ci-dessous :
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check())
{
return redirect('/home');
}
return $next($request);
}
Ce qui est de la Fermeture et pour quoi faire ?
- La fermeture est une fonction contenue par la variable d'ici
$next
. EtClosure
avant de param$next
est le type de l'affinage. Demandez à votre prochaine question ? - je n'ai pas l'obtenir. pouvez-vous nous expliquer en obtenir de brèves ?
- Vishal, inscrivez-vous à Laracasts et de suivre leurs tutoriels pour des explications détaillées.
- Vous avez besoin de vérifier cela avant : php.net/manual/en/functions.anonymous.php
- ok, je n'ai pas le choix maintenant..
- OK!! , ce lien est utile pour moi..Merci pour vos efforts !!
Vous devez vous connecter pour publier un commentaire.
Un Fermeture est une fonction anonyme. Les fermetures sont souvent utilisées comme méthodes de rappel et peut être utilisé comme un paramètre dans une fonction.
Si vous prenez l'exemple suivant:
Nous commençons par l'ajout d'un
Closure
paramètre de lahandle
fonction. Ce sera soupçon type que lehandle
fonction prend unClosure
.Nous appelons ensuite la
handle
de la fonction et de passer une fonction en tant que premier paramètre.En utilisant
$closure();
dans lehandle
fonction de nous dire à PHP d'exécuter leClosure
qui sera alorsecho 'Hello!'
Il est également possible de passer des paramètres dans un
Closure
. Nous pouvons le faire en changeant leClosure
appel dans lehandle
fonction pour passer d'un paramètre. Dans cet exemple, je vais juste passer une chaîne de caractères, mais cela peut être n'importe quelle variable.La poignée de la fonction ressemble maintenant à
Nous devons également modifier la
Closure
pour le paramètre. Nous le faisons par le simple ajout d'un paramètre à la fonction. Et puis nous avons passer cette variable à laecho
.La fonction ressemble maintenant à
Qui se fera l'écho de
Hello World!
Pour plus d'informations vous pouvez consulter ces liens:
http://php.net/manual/en/functions.anonymous.php
http://php.net/manual/en/class.closure.php