如
Route::group(['prefix'=>'code/{code}','middleware'=>'code'],function(){
});
$code要怎麼傳到middleware呢~
謝謝!
我想大声告诉你2017-05-16 16:57:18
中間件也可以接收額外的自訂參數。例如,如果你的應用程式需要驗證使用者是否在執行 action 之前擁有給定的 “角色”,你可以建立一個接受角色名稱作為額外參數的 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);
}
}
中介軟體參數可以在定義路由時將中間件的名稱和參數以 :
隔開來指定。多個參數應以逗號隔開:
Route::put('post/{id}', ['middleware' => 'role:editor', function ($id) {
//
}]);
詳情參考:http://www.golaravel.com/laravel/docs/5.1/middleware/#middleware-parameters