thinkphp5 1中介軟體

2022-08-17 22:00:17 字數 2144 閱讀 4711

<?php

class check

return $next($request);

}}

中介軟體的入口執行方法必須是 handle 方法,而且第乙個引數是 request 物件,第二個引數是乙個閉包,在一些情況下允許有第三個引數

在路由中直接註冊中介軟體:

route::get('hello/:name', 'index/hello')->middleware('check'); //check為上面 中介軟體的結構 中的例子的中介軟體類名
支援多個中介軟體:

route::get('hello/:name', 'index/hello')->middleware(['check','auth']);
此外,在應用配置檔案目錄(即 config 資料夾)下的 middleware.php 檔案中可以設定中介軟體的別名:

return [

];

然後在路由中就可以這樣使用中介軟體了:

route::get('hello/:name', 'index/hello')->middleware('check');

route::get('hello/:name', 'index/hello')->middleware(['check','auth']);

在新版本中,別名還可以定義一組中介軟體:

return [

'check' => [

]];

這樣可以實現使用乙個別名,註冊多個中介軟體

<?php

return [

'check',

];

在 index 模組下定義 middleware.php ,為當前模組下的所有控制器方法註冊中介軟體:

return [

'check',

];

控制器繼承系統的think\controller類,在控制器中定義 protected 屬性的 middleware ,如下,當前控制器方法就會呼叫相應的中介軟體:

<?php

use think\controller;

class index extends controller

public function hello()

}

同時在控制器中,對中介軟體配置except或者only屬性,可以控制中介軟體是否生效:

<?php

use think\controller;

class index extends controller

public function hello($name = 'thinkphp5')

}

傳參的幾種方式:

route::get('hello/:name', 'index/hello')->middleware('check:value');//只能使用中介軟體類名,無法使用別名

route::get('hello/:name', 'index/hello')->middleware(check::class,'value');

route::get('hello/:name', 'index/hello')->middleware('check','value');

route::get('hello/:name', 'index/hello')->middleware('check','value');

route::get('hello/:name', 'index/hello')->middleware([check::class, 'auth'], 'value');//兩個中介軟體傳同樣的引數,可以使用別名或者中介軟體類名

route::get('hello/:name', 'index/hello')->middleware(['check:value1', 'auth:value2']);//兩個中介軟體傳不同的引數,不可以使用別名

在 check 中介軟體中的 handle 方法中,就可以使用第三個引數來接收額外的引數 value 了。

ThinkPHP5 1中介軟體在控制器中使用過程

使用中介軟體的開始以及我的步驟描述,希望可以幫到才學php 或者才學think框架的你們希望能夠與你們交流,讓自己進步。中介軟體在thinkphp框架中的作用我已經明白了,就是在請求即將達到應用層之前,對使用者訪問資源時候,產生的header頭 或者 使用者的請求引數時候輸入的post 或get 或...

thinkphp5 1 中介軟體是什麼有什麼用

中介軟體主要用於攔截或過濾應用的http請求,並進行必要的業務處理。tp5.1手冊 也就是說,降低了系統的耦合 在http請求階段,執行中介軟體的入口執行方法 handle tp5.1 減少了系統的一些if else判斷,因此降低了系統的耦合 中介軟體可以實現什麼功能,例如許可權驗證,訪問記錄,重定...

thinkphp5 1 中介軟體是什麼,有什麼用

中介軟體是什麼?有什麼作用?中介軟體主要用於攔截或過濾應用的http請求,並進行必要的業務處理。tp5.1手冊 也就是說,降低了系統的耦合 在http請求階段,執行中介軟體的入口執行方法 handle tp5.1 減少了系統的一些if else判斷,因此降低了系統的耦合 中介軟體可以實現什麼功能,例...