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

2022-07-15 12:30:16 字數 1821 閱讀 2075

中介軟體是什麼?有什麼作用?

中介軟體主要用於攔截或過濾應用的http請求,並進行必要的業務處理。---tp5.1手冊

也就是說,降低了系統的耦合;【在http請求階段,執行中介軟體的入口執行方法(handle)--tp5.1】----減少了系統的一些if/else判斷,因此降低了系統的耦合

中介軟體可以實現什麼功能,例如許可權驗證,訪問記錄,重定向等等。-----這些業務的存在降低了耦合

thinkphp中介軟體有什麼用?

訊息佇列、遠端方法呼叫rpc框架、odbc、orm持久化框架、快取、資源定位、中介軟體定義的邊界並不是很清晰,介於應用邏輯和作業系統(網路、儲存系統)之間抽象層都可以算作中介軟體。

thinkphp5.1 中的中介軟體說明:

生成中介軟體:

php think make:middleware check

1

<?php23

45class

check

1516

return

$next($request

);17}18

19 }

中介軟體的入口執行方法必須是handle方法,而且第乙個引數是request物件,第二個引數是乙個閉包

前置中介軟體/後置中介軟體

前置中介軟體:在請求階段實現,如:判斷登入狀態,訪問許可權等等

<?php

class

auth}

後置中介軟體:請求完成之後實現,如:寫日誌,請求分析等等

<?php

class

log}

return[ 

]

中介軟體的使用:【說明當乙個方法裡面有多個中介軟體【前置中介軟體】時,執行順序按照 設定中介軟體使用的配置 的順序執行,後置中介軟體的執行一定是在請求完成之後,才執行的,所以肯定是在最後才被執行】

一、在路由定義配置中設定,如:

return[ 

//下面路由註冊的中介軟體,給中介軟體auth傳遞了"ahai",給中介軟體check傳遞了"token"引數,不寫,則不傳遞引數

route::rule('hello/:name','hello')->middleware(['auth:ahai','check:token','log']),route::rule('index/:name','think')->middleware('auth')

]

二、在控制器中設定,如:

1

<?php23

usethink\controller;

4class index extends

controller

22public

function

login()

2328

public

function

hello()

2934

35 }

1

<?php23

class

auth410

}11<?php

1213

class

log1420}

21<?php

22/**23

* created by ahai

24* time: 2018/9/27 0027 上午 10:18

25* email: <[email protected]>

26*/

2728

class

check

2935 }

** 

thinkphp5 1中介軟體

class check return next request 中介軟體的入口執行方法必須是 handle 方法,而且第乙個引數是 request 物件,第二個引數是乙個閉包,在一些情況下允許有第三個引數 在路由中直接註冊中介軟體 route get hello name index hello m...

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

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

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

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