Maison  >  Questions et réponses  >  le corps du texte

Comment la Route de Laravel transmet-elle les paramètres de l'URL au middleware ?

Par exemple
Route::group(['prefix'=>'code/{code}','middleware'=>'code'],function(){

});

Comment le $code peut-il être transféré vers le middleware~
Merci !

大家讲道理大家讲道理2713 Il y a quelques jours542

répondre à tous(2)je répondrai

  • PHP中文网

    PHP中文网2017-05-16 16:57:18

    $request->code 

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 16:57:18

    Paramètres du middleware

    Le middleware peut également recevoir des paramètres personnalisés supplémentaires. Par exemple, si votre application doit vérifier que l'utilisateur dispose d'un « rôle » donné avant d'exécuter une action, vous pouvez créer un middleware RoleMiddleware qui accepte le nom du rôle comme paramètre supplémentaire. RoleMiddleware 中间件。

    中间件的额外参数会在 $next 参数后传入:

    <?php
    
    namespace App\Http\Middleware;
    
    use Closure;
    
    class RoleMiddleware
    {
        /**
         * Run the request filter.
         *
         * @param  \Illuminate\Http\Request  $request
         * @param  \Closure  $next
         * @param  string  $role
         * @return mixed
         */
        public function handle($request, Closure $next, $role)
        {
            if (! $request->user()->hasRole($role)) {
                // Redirect...
            }
    
            return $next($request);
        }
    
    }

    中间件参数可以在定义路由时将中间件的名称和参数用 :

    Les paramètres supplémentaires du middleware seront transmis après le paramètre $next :

    Route::put('post/{id}', ['middleware' => 'role:editor', function ($id) {
        //
    }]);

    Les paramètres du middleware peuvent être spécifiés en séparant le nom du middleware et les paramètres par  : lors de la définition de l'itinéraire. Plusieurs paramètres doivent être séparés par des virgules : 🎜 rrreee 🎜Pour plus de détails, veuillez vous référer à : http://www.golaravel.com/laravel/docs/5.1/middleware/#middleware-parameters🎜

    répondre
    0
  • Annulerrépondre