typecho插件编写教程(一):Hello World

 更新时间:2015年05月28日 11:49:23   投稿:junjie  
这篇文章主要介绍了typecho插件编写教程(一):Hello World,本文讲解了插件的文件结构、插件信息、插件结构、插件流程等内容,需要的朋友可以参考下

最近老高正在编写一个关于typecho的插件,由于typecho不像wordpress,有那么多的文档参考,写一个插件还是遇到了很多的坑,不过随着研究的不断深入,老高也慢慢上手了,于是总结出此篇编写教程分享给大家!

I. 从HelloWorld说起

基本信息

想必想要开发typecho的你一定阅读过官方示例插件HelloWorld的源码吧?

我们先看看usr/plugins/HelloWorld/Plugin.php文件前几行

复制代码 代码如下:

if (!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.org

同时这些信息都会显示在插件页中,如下图

插件结构

我们继续向后面的代码看,一个最简单的插件结构如下(为了缩短篇幅,老高移除了具体方法的实现)

每个方法基本都有注释,老高不再赘述。

看起来很简单吧?其实里面还是有不少坑的。

复制代码 代码如下:

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

本节完。

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

相关文章

  • ThinkPHP采用GET方式获取中文参数查询无结果的解决方法

    ThinkPHP采用GET方式获取中文参数查询无结果的解决方法

    这篇文章主要介绍了ThinkPHP采用GET方式获取中文参数查询无结果的解决方法,需要的朋友可以参考下
    2014-06-06
  • Laravel 错误提示本地化的实现

    Laravel 错误提示本地化的实现

    今天小编就为大家分享一篇Laravel 错误提示本地化的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • PHP 的比较运算与逻辑运算详解

    PHP 的比较运算与逻辑运算详解

    下面小编就为大家带来一篇PHP 的比较运算与逻辑运算详解。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • php中hashtable实现示例分享

    php中hashtable实现示例分享

    对php内核有一定了解的人应该都知道php的精髓就是HashTable,这篇文章主要介绍了php中hashtable实现示例,需要的朋友可以参考下
    2014-02-02
  • PHP多进程编程总结(推荐)

    PHP多进程编程总结(推荐)

    下面小编就为大家带来一篇PHP多进程编程总结(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • 浅谈使用 PHP 进行手机 APP 开发(API 接口开发)

    浅谈使用 PHP 进行手机 APP 开发(API 接口开发)

    做过 API 的人应该了解,其实开发 API 比开发 WEB 更简洁,但可能逻辑更复杂,因为 API 其实就是数据输出,不用呈现页面,所以也就不存在 MVC(API 只有 M 和 C),那么我们来探讨下,如何使用php进行手机API接口开发
    2014-08-08
  • Php中使用Select 查询语句的实例

    Php中使用Select 查询语句的实例

    php中要查询mysql数据库中的内容我们必须先连接mysql数据库,然后再利用sql语句进行查询,下面我们来看一些例子吧
    2014-02-02
  • Laravel5.7 数据库操作迁移的实现方法

    Laravel5.7 数据库操作迁移的实现方法

    这篇文章主要介绍了 Laravel5.7 数据库操作迁移的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法

    ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法

    这篇文章主要介绍了ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法,主要通过针对magic_quotes_gpc开启的情况下进行检查与判断转义来实现,需要的朋友可以参考下
    2014-11-11
  • php floor()函数案例详解

    php floor()函数案例详解

    这篇文章主要介绍了php floor()函数案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08

最新评论