平時網站項目采用thinkphp5.1有必要用鉤子、行為和中間件嗎?

2023-03-15    分類: 網站建設

ThinkPPHP中的鉤子和行為放在一起說,說因為他們兩個是結合在一起用的,行為主要指的是我們需要執行的一些邏輯操作。下面列舉一些常見的應用場景:
1、網站后臺管理的每一個頁面都需要進行身份和權限驗證,這時候可以在項目中用一個鉤子,在頁面生命周期事件action_begin中插入一個事件用于執行驗證行為。
2、當網站項目需要維護時,用戶打開每一個頁面顯示維護信息,這時候可以在頁面生命周期app_init中插入一個事件,顯示維護信息和終止其他生命事件的執行。
3、加載一下公用的數據,只需要在action執行的事件之前加載數據,頁面action操作時就可以直接使用數據。
4、頁面執行完畢,進行一些臨時的特殊的頁面內容輸出替換。可以在view_filter事件中操作。
5、對每一個頁面做一些特殊的監控,可以在app_end或者response_end事件中加入操作邏輯。
除了以上列舉的,還有很多應用場景。
如果不使用鉤子,可以嗎?答案是肯定的,除了用最笨的方法(在每一個操作前都加段代碼)外,還可以定義一個基礎控制器類,然后其他所有控制器都繼承這個基礎類,從而實現上訴功能。
但是鉤子有個特別的地方是,代碼是放在其他地方,管理方便,同時更加方便在每個生命周期插入事件,更加方便。

行為定義

app_init 應用初始化標簽位 無參數
app_dispatch 應用調度標簽位 無參數
app_begin 應用開始標簽位 無參數
module_init 模塊初始化標簽位 無參數
action_begin 控制器開始標簽位 當前的callback參數
view_filter 視圖輸出過濾標簽位 當前模板渲染輸出內容
app_end 應用結束標簽位 當前響應對象實例
log_write 日志write方法標簽位 當前寫入的日志信息
log_write_done 日志寫入完成標簽位
response_send 響應發送標簽位 當前響應對象
response_end 輸出結束標簽位 當前響應對象實例
需要注意的是:其中log_write鉤子僅在調用Log::write方法的時候執行。
view_filter鉤子v5.1.3+版本中已經廢除,改用視圖類的filter方法過濾。
創新互聯建議好在在應用目錄下面或者模塊的目錄下面定義tags.php文件來統一定義行為,因為這種網站架構最清晰,如果通過Hook在頁面位置綁定,有些是操作不到,如app_init、app_begin等。
如下定義事件示例如下
return [
// 應用初始化
'app_init' => [
'app\\test\\behavior\\AppInit'
],
// 應用開始
'app_begin' => [
'app\\test\\behavior\\AppBegin'
],
// 模塊初始化
'module_init' => [
'app\\test\\behavior\\ModuleInit'
],
// 操作開始執行
'action_begin' => [
'app\\test\\behavior\\ActionBegin'
],
// 視圖內容過濾
'view_filter' => [
'app\\test\\behavior\\ViewFilter'
],
// 日志寫入
'log_write' => [
'app\\test\\behavior\\LogWrite'
],
// 應用結束
'app_end' => [
'app\\test\\behavior\\AppEnd'
],
];
中間件是用于攔截或過濾應用的HTTP請求,并進行必要的業務處理,是5.1.16+才增加的功能,可以通過路由單獨控制器定義,也可以全局定義,使用非常方便。

中間件定義

創新互聯認為,用鉤子、行為和中間件還是非常有必要使用,可以讓你的系統架構更加靈活和優化。

分享名稱:平時網站項目采用thinkphp5.1有必要用鉤子、行為和中間件嗎?
網頁地址:http://www.kartarina.com/news18/244618.html

成都網站建設公司_創新互聯,為您提供小程序開發網站制作云服務器品牌網站設計手機網站建設網站策劃

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站托管運營
主站蜘蛛池模板: 亚洲中文字幕无码中文| 精品久久久久久无码人妻蜜桃| 妖精色AV无码国产在线看| 久久影院午夜理论片无码| 日韩精品无码视频一区二区蜜桃| 亚洲AV无码乱码在线观看代蜜桃| 国产精品无码永久免费888 | 天堂Aⅴ无码一区二区三区| 中文字幕无码视频专区| 无码国产精品一区二区免费虚拟VR | 久久午夜无码免费| 国产精品无码素人福利| 一本天堂ⅴ无码亚洲道久久| 中文无码人妻有码人妻中文字幕 | 国产成人无码免费看视频软件| 好爽毛片一区二区三区四无码三飞| 无码区国产区在线播放| 亚洲AV无码不卡在线播放| av色欲无码人妻中文字幕| 18禁无遮挡无码网站免费| 无码视频一区二区三区在线观看| 国产久热精品无码激情| 欧洲无码一区二区三区在线观看| 久久精品中文字幕无码绿巨人| 亚洲人成国产精品无码| 13小箩利洗澡无码视频网站免费| 在线观看免费无码视频| 精品无码国产污污污免费| 中文字幕无码亚洲欧洲日韩| 国精无码欧精品亚洲一区| 人妻无码一区二区三区AV| 亚洲AV无码乱码在线观看富二代| 久久久久无码国产精品一区| HEYZO无码综合国产精品227| 无码日韩人妻AV一区免费l| 亚洲日韩精品无码专区网址 | 中文字幕日产无码| 久久精品中文无码资源站| 亚洲av无码不卡久久| 亚洲一区无码中文字幕乱码| 免费看成人AA片无码视频羞羞网|