齊博x1齊博首創鉤子的使用方法

2022-09-10 11:09:14 字數 1755 閱讀 1089

齊博x1有兩套鉤子體系,第一套是基於tp思路設計的。跟外面的大同小異。現在重點講一下第二套我們首創的使用方法。

首先說一下如何埋鉤子,這個跟tp思路的鉤子類似,就是在頁面的任何地方加入如下**即可

如下圖

$this->get_hook('index_begin',$data=,$this->user);

它其實有5個引數,

第乙個引數就是鉤子標誌,必須要唯一的,

第二個是引數$data是可以改變其值的,一般用在post表單的變數,比如發表的時候,你可以中途篡改其中的某項值

第三個$info一般指從資料庫取出的資料,

第四個$array是綜合項,比如裡邊有id fid之類的值,

第五項只能設定truefalse預設是true 即同時呼叫 公共的檔案 否則只能呼叫本頻道外掛程式的檔案。

如下圖

頻道目錄與公共目錄,如果存在同名的鉤子檔案, 那麼公共目錄的那個鉤子就不生效。頻道目錄的優先順序最高。

並且頻道目錄的所有鉤子執行完畢以後,再執行公共目錄的鉤子檔案。

對於當前目錄的鉤子檔案執行順序如下:

數值越小,越先執行,也即數字最先,其次是字母。如果有帶符號的情況下。橫槓線即負號開頭的最先。然後就數字,然後才是下畫線開頭,最後才是字母。字母的話,a比z的優先順序高。大家的鉤子如果有邏輯順序的話,要注意檔案的命名規則。

鉤子裡邊的**如果出現

return true;

return false;

return ;

return '';

return '這是內容';

就會直接把後面的所有鉤子終止掉,也就是後面的鉤子不會再執行。

一般情況,不要return 任何東西。實在要return 的話,你可使用

return ;

return null;

這兩種就不會終止後面的其它鉤子執行。

包括第一種基於tp思路設計的鉤子也是跟這個一樣的情況。

在控制器裡邊用鉤子,你可以直接使用當前類裡邊的屬性及所有方法。因為本質上就相當於包含進來的**。

而基於tp思路的鉤子是不能 使用當前類的屬性與方法的,因為它是執行引用外面的類。

如果不在控制器裡邊用鉤子,比如在模型裡邊或者在模板裡邊用鉤子的話,就用函式,而不能使用$this->get_hook

如下圖

get_hook('cms_model_agree_begin',$data=,$info,['id'=>$id],true);
這裡用的是函式

引數跟上面的一樣的。

在模板中的話就這樣使用

如下圖

在模型或模板中就不能使用當前的類的屬性了,就跟tp思路的鉤子差不多了。

齊博x1模組安裝檔案講解

外掛程式存放的目錄是 plugins 外掛程式目錄 他的安裝目錄都是 install install.sql 資料庫資料,一般來說,這是必須的,乙個模組是缺少不了資料庫的 資料庫中其它都好理解,但是有一項非常關鍵的地方,大家務必高度重視 舉個例子 insert into qb config id t...

齊博x1頻道的二次開發入門講解

要進行頻道的二次開發,首先我們要先了解一下頻道的目錄結構,如下圖 最基本的幾個目錄 admin 後台檔案存放目錄 index 前台檔案存放目錄 member 會員中心存放目錄 model 資料表模型目錄 traits 會員中心與後台共用的一些方法 admin menu.php 後台選單 member...

齊博x2模型裡邊鉤子的建立與使用

裡邊的這段 如下 protected static function success pay order info 這個方法是使用者 支付訂單款後執行的操作。裡邊埋了乙個鉤子。其中get hook就是鉤子函式,所以他是不能使用類裡邊的方法與屬性的。這裡有乙個很特殊的地方,就是增加了第6項引數,指定了...