您好,登錄后才能下訂單哦!
typecho插件如何編寫插件掛載代碼,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
終于,在能夠保存配置信息后,我們可以開始編寫插件的掛載功能了。
首先我們需要知道系統(tǒng)為我們在各個關鍵的環(huán)節(jié)都預留了插件點給我們,系統(tǒng)運行到插件點時,會檢測到是否有插件掛在這個點上,然后執(zhí)行插件的邏輯!
插件的工作就是找到合適的插件點,掛上去,然后執(zhí)行自己的邏輯。
插件點,插件鉤子,插件接口。。。在老高這兒是一個概念
官方的插件接口及功能列表
我們的插件需要執(zhí)行的邏輯在這里,Widget_Contents_Post_Edit類的finishPublish方法
文件路徑var/Widget/Contents/Post/Edit.php:736,可以看到,接口為我們傳遞了兩個參數(shù),一個是發(fā)布的內(nèi)容,另一個是類本身。有了類本身,我們可以在插件中隨意調用他的公共方法!
復制代碼 代碼如下:
// 文章完成發(fā)布插件接口
$this->pluginHandle()->finishPublish($contents, $this);
還有一個頁面發(fā)布接口,下面的代碼會提到。
如何掛載
代碼如下,有省略。
復制代碼 代碼如下:
<?php
class BaiduSubmitTest_Plugin implements Typecho_Plugin_Interface
{
public static function activate(){
//掛載發(fā)布文章和頁面的接口
Typecho_Plugin::factory('Widget_Contents_Post_Edit')->finishPublish = array('BaiduSubmitTest_Plugin', 'send');
Typecho_Plugin::factory('Widget_Contents_Page_Edit')->finishPublish = array('BaiduSubmitTest_Plugin', 'send');
return '插件安裝成功,請進入設置填寫準入密鑰';
}
...
...
public static function render($contents, $class){
//do something
}
}
有代碼我們看到,在插件激活時,系統(tǒng)將插件類BaiduSubmitTest_Plugin的render方法綁定到finishPublish的接口上!由于finishPublish會傳遞兩個參數(shù),所以render方法也要接受兩個參數(shù)。
關于typecho插件如何編寫插件掛載代碼問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業(yè)資訊頻道了解更多相關知識。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。