Laravel 5

Probleme de middlware

  • Avatar de Alexking2005
    Membre depuis :
    28/11/2018
    Messages :
    2

    Bonjour, je débute dans le dev Laravel, je suis en train de suivre 2 cours, celui de grafikart et celui de laracast.

    Je tente d'utiliser les middlewares, j'ai créé mon fichier ip.php avec la ligne de commande PHP artisan.La fonction handle ne fait rien de partticulier juste un dd("Salut");

    Puis dans mon fichier web.php, je crée la route suivante, j'ai essayé plusieurs choses:


    Route::group(['prefix' => 'admin', 'middleware' => 'Ip'], function(){

    return "Salut";

    });

    Ou encore:

    Route::get('admin/salut', function () {
    return 'Salut les gens';
    })->middleware('Ip');

    Ou encore:

    Route::middleware(['Ip'])->group(function () {
    Route::get('admin/salut', function () {
    return 'Salut les gens';
    });
    });

    RIEN ne fonctionne.

    Le seul truc qui marche, c'est l'ajout de ma classe dans le fichier kernel.php:

    protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
    \App\Http\Middleware\TrimStrings::class,
    \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
    \App\Http\Middleware\TrustProxies::class,
    \App\Http\Middleware\Ip::class,
    ];
    L'erreur que j'obtiens est:
    ReflectionException (-1)

    Class Ip does not exist

    Vous avez des idées de la raison pour laquelle ça ne fonctionne pas?
  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    2299

    Salut,

    Ajoute le middleware dans le tableau pour les routes :

    protected $routeMiddleware = [
    ...
    'Ip' => \App\Http\Middleware\Ip::class,
    ];
  • Avatar de Alexking2005
    Membre depuis :
    28/11/2018
    Messages :
    2

    Effectivement, ça marche, ça veut dire que je dois le déclarer à chaque fois dans $routeMiddleware?

    Merci beaucoup

Vous ne pouvez pas répondre à ce sujet.