Hello World
最近开始研究起Typecho的插件,想写一个插件使用,所以参考了不少文档。
其中老高的技术博客 讲的非常的清晰,值得去看一看,当然作者也走了不少弯路,相关文档也少,所以该系列教程更多是在前人的基础上做补充。
如果想看老高博客系列教程请移步:
- typecho插件编写教程1 - 从HelloWorld说起
- typecho插件编写教程2 - 新插件
- typecho插件编写教程3 - 保存配置
- typecho插件编写教程4 - 插件点
- typecho插件编写教程5 - 核心代码
- typecho插件编写教程6 - 调用接口
- typecho插件编写教程7 - Helper类
官方示例HelloWorld
插件所在目录:user/plugins/HelloWorld
<?php
namespace TypechoPlugin\HelloWorld;
use Typecho\Plugin\PluginInterface;
use Typecho\Widget\Helper\Form;
use Typecho\Widget\Helper\Form\Element\Text;
use Widget\Options;
if (!defined('__TYPECHO_ROOT_DIR__')) {
exit;
}
/**
* Hello World
*
* @package HelloWorld
* @author qining
* @version 1.0.0
* @link http://typecho.org
*/
class Plugin implements PluginInterface
{
/**
* 激活插件方法,如果激活失败,直接抛出异常
*/
public static function activate()
{
\Typecho\Plugin::factory('admin/menu.php')->navBar = __CLASS__ . '::render';
}
/**
* 禁用插件方法,如果禁用失败,直接抛出异常
*/
public static function deactivate()
{
}
/**
* 获取插件配置面板
*
* @param Form $form 配置面板
*/
public static function config(Form $form)
{
/** 分类名称 */
$name = new Text('word', null, 'Hello World', _t('说点什么'));
$form->addInput($name);
}
/**
* 个人用户的配置面板
*
* @param Form $form
*/
public static function personalConfig(Form $form)
{
}
/**
* 插件实现方法
*
* @access public
* @return void
*/
public static function render()
{
echo '<span class="message success">'
. htmlspecialchars(Options::alloc()->plugin('HelloWorld')->word)
. '</span>';
}
}
基本信息:
class 类顶部的注释,也就是文件的前几行,描述的是基本信息
Hello World
: 插件简略说明@package
: 插件包名
@author
:插件作者
@version
:插件版本
@link
:插件链接
注意事项:
估计大家也发现了,官方目录下存放的插件文件跟其其他插件文件结构有点不一样,这是PHP的命名空间写法。
等价于以下内容:
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(){}
}
当插件写好后就会出现在后台,启用就可以激活插件。
版权属于:Monster_4y
本文链接:https://blog.zmonster.top/114.html
转载时须注明出处及本声明