3 votes

Groupe de routes Laravel Deuxième Paramètre?

J'ai mis à jour mon projet de Laravel 5.5.* à 5.5.43... Avant la mise à jour, tout était ok. Mais après la mise à jour, je vois un message d'avertissement dans route/web.php.

laravel route warning

Il dit: Paramètre requis $routes manquant.

Mais tout fonctionne correctement. Ensuite, lorsque je mets une chaîne vide dans le deuxième paramètre, le message d'avertissement disparaît.

laravel route warning

Donc ma question est:

  1. Que dois-je mettre dans le deuxième paramètre requis?
  2. Si c'est requis, alors pourquoi tout fonctionne correctement? Il devrait être facultatif.

0voto

Devon Points 1551

C'est en fait assez difficile à suivre dans Laravel. Votre IDE extrait la définition de groupe de Router au lieu de RouteRegistrar.

À l'intérieur de Router.php :

public function group(array $attributes, $routes)

Cela prend en charge l'ancien style de définition des groupes de routes où les middlewares sont définis dans les attributs et votre closure de routes serait le 2ème argument.

À l'intérieur de RouteRegistrar.php :

public function group($callback)

C'est le nouveau style où le groupe accepte uniquement la closure.


Je n'aime pas le fait qu'ils utilisent une condition dans __call au lieu de définir une méthode pour les middlewares, mais lorsque vous appelez Route::middleware, la façade redirige vers Router et Router::__call renvoie une instance de RouteRegistrar à cause de cette ligne :

    if ($method == 'middleware') {
        return (new RouteRegistrar($this))->attribute($method, is_array($parameters[0]) ? $parameters[0] : $parameters);
    }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X