Hi!请登陆

手把手教你写Typecho插件 – 命名与规范

2020-10-17 68 10/17

一般博客程序都有自己的插件体系,但是万变不离其中。明哥曾经指导一个大学毕业生,让他好好演习typecho框架,他照做后功力大涨,毕业得到某外企的青睐,毕业生税前收入20k。

要掌握typecho框架必须要先懂得typecho的插件,今天将教大家如何定制一款typecho插件。

文件结构和命名

首先我们来看一下typecho的文件结构(以官方提供的HelloWorld插件为例):

HelloWorld  插件文件夹
     |
     |——Plugin.php   插件核心文件

插件文件夹命名与插件名、插件类名保持一致,插件主体代码编写在 Plugin.php 中。其中,类名要加上后缀 _Plugin,如下:

class HelloWorld_Plugin implements Typecho_Plugin_Interface

如果命名不正确,Typecho将无法识别和加载插件,也就没办法挂上钩子。

如需了解更多Typecho的命名规范,请参看官方文档

注释

在Plugin.php开头,可以适当增加注释,方便Typecho框架获取你的插件信息。

以AMP插件为例:

<?php
/**
 * AMP/MIP 插件 for Typecho
 *
 * @package AMP-MIP
 * @author Holmesian
 * @version 0.7.5
 * @link https://holmesian.org/AMP-for-Typecho
 */
if (!defined('__TYPECHO_ROOT_DIR__')) exit;
class AMP_Plugin implements Typecho_Plugin_Interface

那么显示的信息结果如下:

手把手教你写Typecho插件 - 命名与规范

函数接口

这些函数是框架回调的函数,用来获取插件需要设置的信息,通常在激活和销毁以及设置信息的时候调用。

class HelloWorld_Plugin implements Typecho_Plugin_Interface {
    public static function activate() {}
    public static function deactivate(){}
    public static function config(Typecho_Widget_Helper_Form $form) {}
    public static function personalConfig(Typecho_Widget_Helper_Form $form){}
    public static function render() {}
}

函数的具体含义解释:

  • activate: 插件的激活接口,主要填写一些插件的初始化程序。
  • deactivate: 这个是插件的禁用接口,主要就是插件在禁用时对一些资源的释放。
  • config: 插件的配置面板,用于制作插件的标准配置菜单。
  • personalConfig: 个人用户的配置面板,基本用不到。
  • render: 自己定义的方法,用来实现插件要完成的功能。

好了,这里介绍了基本的插件结构以及函数含义,下篇我们将说明具体如何实现,将继续以HelloWorld为例进行说明。

相关推荐