typecho外掛程式編寫教程4 外掛程式點

2021-09-20 02:45:18 字數 1207 閱讀 6087

終於,在能夠儲存配置資訊後,我們可以開始編寫外掛程式的掛載功能了。

首先我們需要知道系統為我們在各個關鍵的環節都預留了外掛程式點給我們,系統執行到外掛程式點時,會檢測到是否有外掛程式掛在這個點上,然後執行外掛程式的邏輯!

外掛程式的工作就是找到合適的外掛程式點,掛上去,然後執行自己的邏輯。

外掛程式點,外掛程式鉤子,外掛程式介面。。。在老高這兒是乙個概念

官方的外掛程式介面及功能列表

我們的外掛程式需要執行的邏輯在這裡,widget_contents_post_edit類的finishpublish方法

檔案路徑var/widget/contents/post/edit.php:736,可以看到,介面為我們傳遞了兩個引數,乙個是發布的內容,另乙個是類本身。有了類本身,我們可以在外掛程式中隨意呼叫他的公共方法!

php// 文章完成發布外掛程式介面

$this->pluginhandle()->finishpublish($contents, $this);

還有乙個頁面發布介面,下面的**會提到。

**如下,有省略。

}有**我們看到,在外掛程式啟用時,系統將外掛程式類baidusubmittest_plugin的render方法繫結到finishpublish的介面上!由於finishpublish會傳遞兩個引數,所以render方法也要接受兩個引數。

此時,只要外掛程式正常啟用,當我們發布完某一篇文章後,系統就會自動呼叫baidusubmittest_plugin:render()方法了。

仔細觀察源**,你會發現此介面沒有返回值,如果有返回值怎麼辦?

這個情況比較複雜,老高先留個坑。

為什麼叫render方法?

老高從hello world中複製貼上過來的,一直沒有改名。

掛載點搞定了,下一步就是執行我們的核心邏輯**了。

typecho外掛程式編寫教程2 新外掛程式

此文原本發表於我的部落格 老高的技術部落格 歡迎和老高交流!第一節我們了解了乙個外掛程式的基本構成,下面我們需要乙個例項練習鞏固。為什麼要改版呢?新版外掛程式需要實現哪些功能?介面呼叫位址 api 在哪兒?php urls array api 你的准入金鑰 讓老高先把上一節hello world外掛...

typecho外掛程式編寫教程6 呼叫介面

此文原本發表於我的部落格 老高的技術部落格 歡迎和老高交流!此篇我們開始呼叫介面,我們在外掛程式類中新定義乙個方法,起名為send post,在方法中我們通過系統配置獲取介面呼叫位址。php 傳送資料 param url 準備傳送的url param options 系統配置 記錄日誌 file p...

typecho外掛程式編寫教程3 儲存配置

此文原本發表於我的部落格 老高的技術部落格 歡迎和老高交流!上一節我們製作了乙個裸外掛程式,下面我們開始讓我們的外掛程式開始工作!我們實現activate和deactivate方法 phppublic static function activate public static function d...