91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

講解Thinkphp 框架擴展之行為擴展原理與實現方法

發布時間:2021-03-08 16:29:39 來源:億速云 閱讀:147 作者:TREX 欄目:開發技術

這篇文章主要介紹“講解Thinkphp 框架擴展之行為擴展原理與實現方法”,在日常操作中,相信很多人在講解Thinkphp 框架擴展之行為擴展原理與實現方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”講解Thinkphp 框架擴展之行為擴展原理與實現方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

系統核心提供的標簽位置包括下面幾個(按照執行順序排列):

app_init應用初始化標簽位
path_infoPATH_INFO檢測標簽位
app_begin應用開始標簽位
action_name操作方法名標簽位
action_begin控制器開始標簽位
view_begin視圖輸出開始標簽位
view_parse視圖解析標簽位
template_filter模板內容解析標簽位
view_filter視圖輸出過濾標簽位
view_end視圖輸出結束標簽位
action_end控制器結束標簽位
app_end應用結束標簽位

在每個標簽位置,可以配置多個行為定義,行為的執行順序按照定義的順序依次執行。除非前面的行為里面中斷執行了(某些行為可能需要中斷執行,例如檢測機器人或者非法執行行為),否則會繼續下一個行為的執行。 行為定義: 通過Common\Conf\tags.php配置文件定義,格式如下:

<?php
return array(
  'action_begin'=>array('Home\\Behaviors\\TestBehavior','Home\\Behaviors\\Test1Behavior'), 
);

上面注冊了兩個行為,分別是Home模塊下的test和test1行為,類文件位于Home模塊目錄下的Behaviors目錄,可以自定義目錄。

行為必須是一個包含命名空間路徑的類,如上的 Home\Behaviors\TestBehavior 對應的類是 Home/Behaviors/TestBehavior.class.php。

除了這些系統內置標簽之外,開發人員還可以在應用中添加自己的應用標簽。 比如在控制器的_initialize方法中:

\Think\Hook::add('action_begin','Home\\Behaviors\\TestBehavior');
//同時添加多個行為,只要將第二個參數換成數組即可。

行為類的定義,以上面的test行為為例:

<?php
namespace Home\Behaviors;
class TestBehavior extends \Think\Behavior{
  //行為執行入口
  public function run(&$param){
 
  }
}

行為類建議繼承\Think\Behavior,必須實現run(&$param)方法,行為是通過這個方法執行的。

行為的觸發: 只要在合適的地方通過以下代碼

\Think\Hook::listen('標簽名'[,參數]);
// 或者
// tag('標簽名'[,參數]);

當應用執行到這個地方的時候將自動觸發指定標簽名下的所有行為類。

isten方法可以傳入并且只接受一個參數,如果需要傳入多個參數,請使用數組,該參數為引用傳值,所以只能傳入變量。 參數可以被run(&$param)中的$param接收。

到此,關于“講解Thinkphp 框架擴展之行為擴展原理與實現方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

通州区| 湾仔区| 和田县| 云安县| 肃宁县| 北辰区| 稷山县| 玛纳斯县| 塔城市| 天柱县| 资源县| 通州市| 安平县| 海南省| 西乌珠穆沁旗| 绥宁县| 沁源县| 凤凰县| 都兰县| 谷城县| 金昌市| 开封县| 宜都市| 贵阳市| 阿勒泰市| 临猗县| 虎林市| 泰安市| 廉江市| 莲花县| 贵溪市| 甘南县| 竹北市| 龙陵县| 太康县| 望奎县| 太谷县| 水富县| 太仆寺旗| 景泰县| 菏泽市|