Rumah  >  Soal Jawab  >  teks badan

Bagaimanakah Laluan Laravel menghantar parameter dalam url kepada perisian tengah?

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

});

Bagaimana $code boleh dipindahkan ke middleware~
Terima kasih!

大家讲道理大家讲道理2713 hari yang lalu543

membalas semua(2)saya akan balas

  • PHP中文网

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

    $request->code 

    balas
    0
  • 我想大声告诉你

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

    Parameter perisian tengah

    Perisian tengah juga boleh menerima parameter tersuai tambahan. Sebagai contoh, jika aplikasi anda perlu mengesahkan bahawa pengguna mempunyai "peranan" tertentu sebelum melaksanakan tindakan, anda boleh mencipta perisian tengah RoleMiddleware yang menerima nama peranan sebagai parameter tambahan. 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);
        }
    
    }

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

    Parameter tambahan perisian tengah akan dihantar selepas parameter $next:

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

    Parameter perisian tengah boleh ditentukan dengan mengasingkan nama dan parameter perisian tengah dengan : semasa menentukan laluan. Berbilang parameter hendaklah dipisahkan dengan koma: 🎜 rrreee 🎜Untuk butiran, sila rujuk: http://www.golaravel.com/laravel/docs/5.1/middleware/#middleware-parameters🎜

    balas
    0
  • Batalbalas