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方法

本节完。

下一节老高会更详细的说明插件类的方法。

相关文章
相关标签/搜索