Laravel的Route如何傳url中的參數到middleware?
大家讲道理
大家讲道理 2017-05-16 16:55:18
0
2
538


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

});

$code要怎麼傳到middleware呢~
謝謝!

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(2)
Ty80

雷雷

我想大声告诉你

中介軟體參數

中間件也可以接收額外的自訂參數。例如,如果你的應用程式需要驗證使用者是否在執行 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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!