Slim4PHP框架零基礎(chǔ)學(xué)習(xí)筆記-中間件_第1頁
Slim4PHP框架零基礎(chǔ)學(xué)習(xí)筆記-中間件_第2頁
Slim4PHP框架零基礎(chǔ)學(xué)習(xí)筆記-中間件_第3頁
Slim4PHP框架零基礎(chǔ)學(xué)習(xí)筆記-中間件_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Slim4PHP框架零基礎(chǔ)學(xué)習(xí)筆記中間件中間件的作在app程序執(zhí)前或執(zhí)后要運的代碼,來操作 Request和Response對象。如,在防 跨站點請求偽造 時就需要在應(yīng)運之前驗證請求,這就需要到中間件。中間件基本要求中間件必須是可調(diào)的,它接受3個參數(shù):1. PsrHttpMessageServerRequestInterface - PSR7請求對象2. PsrHttpMessageResponseInterface - PSR7響應(yīng)對象3. callable - 可調(diào)的下個中間件中間件必須返回個實例 PsrHttpMessageResponseInterface每個中間件應(yīng)該調(diào)下個中間件并將

2、其作為參數(shù)傳遞給Request和Response對象兩種形式的中間件1. 閉包,如下例:getBody()-write(AFTER);return $response;2. Invokable類,魔術(shù)法_invoke()實現(xiàn),如下例:add() 式載到 $app 或路由 或Group組路由,如下:$app-add( new ExampleMiddleware() );4.怎么使中間件1) 使應(yīng)程序中間件應(yīng)程序中間件會在所有HTTP請求進時觸發(fā)執(zhí), add() 式加載中間件,如下例加載閉包形式中間件:run();上程序?qū)⑤敵?HTTP response 下內(nèi)容:BEFORE Hello AFTE

3、R2) 使路由中間件路由中間件會在HTTP request請求符合當(dāng)前指定URI路由時才觸發(fā)執(zhí),路由中間件必需在 Slim 應(yīng)程序路由法(如 get()或post())調(diào)后緊接著就指定加載。每個路由法會返回個 SlimRoute 實例,可以將該實例視為個上例的 Slim 應(yīng)程序,上同樣法 add() 式加載中間。如下例:run();上程序同樣將輸出 HTTP response 下內(nèi)容:BEFORE Hello AFTER3) 使路由組中間件路由組中間件與單路由中間件不同在2個:是在單個路由基礎(chǔ)上,有更多條件組合才觸發(fā)執(zhí)的;不是把 get()、post()或put() 等式視為個應(yīng)實例,是把 g

4、ruop() 路由組實為個應(yīng)實例, add() 法加載中間件。如下例:get(/, function ($request, $response) return $response;);當(dāng)訪問 /utils/date 時將輸出:It is now 2015-07-06 03:11:01. Enjoy!當(dāng)訪問 /utils/time 時會輸出:It is now 1436148762. Enjoy!訪問 / 時則不經(jīng)過中間件,直接輸出:Hello World5.中間件變量的傳遞通過 withAttribute() 和 getAttribute() 來傳遞中間件變量。如,設(shè)置變量:$request = $request-withAt

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論