溫馨提示×

溫馨提示×

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

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

typecho插件如何編寫插件掛載代碼

發(fā)布時間:2021-09-07 15:35:19 來源:億速云 閱讀:116 作者:Yi 欄目:開發(fā)技術

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è)資訊頻道了解更多相關知識。

向AI問一下細節(jié)

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

AI