日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

浅析Thinkphp3.0的行为扩展模式

發布時間:2025/3/17 php 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅析Thinkphp3.0的行为扩展模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

Thinkphp3.0正式版發布也有一段時間..之前用過1.X?2.X?

3.0版還沒有用過,最近有空去自己看了下官方的文檔,并且研究了一下3.0的源碼。

對框架里面的行為擴展模式很感興趣于是就自己淺顯的分析了一下。

TP3.0的核心框架里采用行為擴展模式主要是源于Aspect?Oriented?Programming(AOP),即面向切向的編程。

這樣用戶可以在不改變核心框架代碼的情況下,通過自定義的行為擴展來自行組裝和擴展框架的功能。

聽起來似乎很玄乎也不太好理解.其實原理很簡單。

1、首先?預定義一組行為擴展標簽

例如?app_init?,app_begin?標簽名稱一般對應其含義,這里表示應用初始化和應用開始

2、為每個行為擴展標簽定義一組行為類

例如?

'app_begin'=>array(

????????'ReadHtmlCache',?//?讀取靜態緩存

????),

其中ReadHtmlCache?就是行為類的類名

3、在框架中,指定的代碼片段處標記行為擴展標簽.

例如?下面一段代碼是應用開始的代碼,那么在該段代碼之前就通過tag函數來標記定義的行為擴展標簽

tag('app_begin')

//..應用開始的代碼...

上面三步就是行為擴展全部模式的全部了..原來很簡單吧..

其核心就在于tag函數,個人理解有點類似JS里面的事件派發.

先定義好事件函數,然后執行到某個代碼段就派發相應的事件。

這里就是先定義好對應的行為類,然后通過標記行為標簽的方式去執行指定的行為類.

這樣整個核心框架里很多功能就是通過不同的行為組裝起來的.當需要定制框架時只需要

增加或者修改行為類,或者配置相應的行為擴展標簽即可.

如果還是沒辦法理解那么去看看tag函數的源代碼就可以明白究竟是怎么回事了.

轉載于:https://my.oschina.net/jiuxiaoyao/blog/76576

總結

以上是生活随笔為你收集整理的浅析Thinkphp3.0的行为扩展模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。