一般博客程序都有自己的插件体系,但是万变不离其中。明哥曾经指导一个大学毕业生,让他好好演习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
那么显示的信息结果如下:
函数接口
这些函数是框架回调的函数,用来获取插件需要设置的信息,通常在激活和销毁以及设置信息的时候调用。
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为例进行说明。