typecho插件編寫教程1 - 從HelloWorld提及

最近老高正在編寫一個關於typecho的插件,因爲typecho不像wordpress,有那麼多的文檔參考,寫一個插件仍是遇到了不少的坑,不過隨着研究的不斷深刻,老高也慢慢上手了,因而總結出此篇編寫教程分享給你們!php

若是你對typecho的源碼有興趣,能夠參考老高的系列文章html

typecho源代碼解析1 - 系統初始化
typecho源代碼解析2 - 插件機制
typecho源代碼解析3 - 路由分發
typecho源代碼解析4 - 業務邏輯wordpress

從HelloWorld提及

基本信息

想必想要開發typecho的你必定閱讀過官方示例插件HelloWorld的源碼吧?typecho

咱們先看看usr/plugins/HelloWorld/Plugin.php文件前幾行spa

phpif (!defined('__TYPECHO_ROOT_DIR__')) exit;
/**
 * Hello World
 * 
 * @package HelloWorld 
 * @author qining
 * @version 1.0.0
 * @link http://typecho.org
 */
 ...
 ...

這幾行代碼是一個插件的基本信息,咱們由代碼能夠得出如下與插件相關的基本信息插件

插件說明 ---> Hello World
插件包名 ---> HelloWorld
插件做者 ---> qining
插件版本 ---> 1.0.0
插件連接 ---> http://typecho.orgcode

同時這些信息都會顯示在插件頁中,以下圖orm

插件基本信息

插件結構

咱們繼續向後面的代碼看,一個最簡單的插件結構以下(爲了縮短篇幅,老高移除了具體方法的實現)htm

每一個方法基本都有註釋,老高再也不贅述。教程

看起來很簡單吧?其實裏面仍是有很多坑的。

phpclass HelloWorld_Plugin implements Typecho_Plugin_Interface
{
    /**
     * 激活插件方法,若是激活失敗,直接拋出異常
     * 
     * @access public
     * @return void
     * @throws Typecho_Plugin_Exception
     */
    public static function activate(){}

    /**
     * 禁用插件方法,若是禁用失敗,直接拋出異常
     * 
     * @static
     * @access public
     * @return void
     * @throws Typecho_Plugin_Exception
     */
    public static function deactivate(){}

    /**
     * 獲取插件配置面板
     * 
     * @access public
     * @param Typecho_Widget_Helper_Form $form 配置面板
     * @return void
     */
    public static function config(Typecho_Widget_Helper_Form $form){}

    /**
     * 我的用戶的配置面板
     * 
     * @access public
     * @param Typecho_Widget_Helper_Form $form
     * @return void
     */
    public static function personalConfig(Typecho_Widget_Helper_Form $form){}

    /**
     * 插件實現方法
     * 
     * @access public
     * @return void
     */
    public static function render(){}
}

插件流程

插件的基本流程是這樣的。

  1. 當咱們的插件寫好後會出如今後臺
  2. 點擊啓用按鈕後,會執行對應插件類的activate方法
  3. 插件與目標插件點關聯,等待觸發
  4. 當點擊停用的時候調用deactivate方法

本節完。

下一節老高會更詳細的說明插件類的方法。

相關文章
相關標籤/搜索