欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

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

2023-03-15    分類: 網(wǎng)站建設(shè)

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

行為定義

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

中間件定義

創(chuàng)新互聯(lián)認為,用鉤子、行為和中間件還是非常有必要使用,可以讓你的系統(tǒng)架構(gòu)更加靈活和優(yōu)化。

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

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、網(wǎng)站制作云服務(wù)器、品牌網(wǎng)站設(shè)計手機網(wǎng)站建設(shè)、網(wǎng)站策劃

廣告

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

網(wǎng)站托管運營
色婷婷亚洲一区二区三区| 亚洲乱码一区二区在线| 亚洲五月六月激情综合| 美女一区二区三区日本美女在线观看| 免费观看久久黄色大片| 精品日韩欧美在线观看91| 久久精品二区亚洲w码| 亚洲精品第一国产综合| 天堂av在线观看播放| 日本一区二区三区视频版| 欧美国产日韩在线播放| 亚洲人妻不卡一区二区| 日韩在线欧美在线一区二区| 蜜桃av在线播放视频| 99久久成人国产精品免费| 国产精品天干天综合网| 69人妻一区二区三区蜜桃| 肥胖老熟女一区二区三区| 麻豆视传媒短视频免费看| 国产精品日韩欧美亚洲| 日本高清加勒比免费在线| 国产成年人免费小视频| 久久精品资源综合网| 丰满人妻一区二三区av| 久青青国产综合自拍视频在线观看 | 日韩欧美国产精品一区二区| 国产激情盗摄一区二区三区| 夜夜高潮夜夜爽免费观看| 亚洲成人精品青青香蕉| 久久精品国产精品日韩欧美 | 日韩精品一区二区三区av在线| 公侵犯人妻中文字幕一区| 国产日韩亚洲欧美在线| 亚洲精品日本一区二区| 亚洲日本国产精品一区| 人妻伦理一区二区三区| 亚洲综合一区国产精品| 高清av网站大全网站| 日本又色又爽又黄的观看| 日本在线免费成人高清| 少妇高潮叫床免费网站在线观看|