Typecho二次开发之插件命名规范及注意事项

通过定制插件来满足博客花样百出的功能,比如:博客浏览数,往数据库插入文章,过滤分类,过滤字段,根据文章的类型来生成seo策略。以上的这些功能typecho都没有提供,然而却可以通过typecho的插件来得到满足。这里简单介绍下插件开发的步骤以及过程中需要注意哪些问题呢?

####以开发HelloWorld为例子

####一.开发步骤

– 在usr/plugin文件夹中建立文件夹:HelloWorld(首字母大写,驼峰命名规范)
– 在文件夹HelloWorld中新建一个Plugin.php的文件,里面的类名HelloWorld_Plugin(格式即:文件夹名_Plugin),然后实现一下Typecho_Plugin_Interface这个接口。
– 实现方法activate() 和 deactivate() 等。activate在激活的时候会执行,可以初始化一些插件的工作。deactivate在卸载插件后执行。
– 然后在别处新建文件名为:A.php,具体处理一些逻辑代码。此时要保持命名规范,要将类名命名为:HelloWorld_A(文件夹名_文件名)。该类A要集成类Widget_Abstract_Contents 和实现Widget_Interface_Do等,实现方法:action类写绑定动作的代码。

####二.注意的问题
上面的步骤本站也给出了一个例子,可以参考文章:[Typecho插件HelloWorld][1]。

这里有一些问题需要格外注意,错一点点都不能运行,如果你出现插件无法运行的情况,或者搞不懂哪些东西该怎么给值,这里列出一些注意的地方:

– 1.命名是否规范,Plugin里面的类型格式为:路径名_Plugin (这个未排查种重点,特别是后台没有显示插件的时候)
– 2.是否重写了方法。
– 3.在方法中是否执行正确,所有的初始化工作都应该在activate中完成:初始化数据表或者字段、挂钩子函数。
> 比如 :
“`php
Typecho_Plugin::factory(‘Widget_Archive’)->error404Handle = array(‘HelloWorld_Plugin’, ‘say_hello’);
“`
– 在public static function config(Typecho_Widget_Helper_Form $form) {}函数中写后台的配置参数样式:

> 比如:
“`php
public static function config(Typecho_Widget_Helper_Form $form){

$import_user_info = new Typecho_Widget_Helper_Form_Element_Text(
‘import_user_info’,NULL ,’username/password’,
_t(‘导入theme内容所使用的账号信息’),
_t(‘设定导入theme/plugin所使用的账号名称和密码,如user/pass,注意用斜杠分割’)
);
$form->addInput($import_user_info);
}
“`
后入在激活后会出现编辑窗口,然后就可以配置一些特定的参数。
在需要用的地方获取值的办法(有些业务需要配置动态参数):
“`php
@$settings = Helper::options()->plugin(‘HelloWorld’);
$user_info = $settings->import_user_info;
list($user,$password) = explode(‘/’,$user_info);
“`
– 如果需要接入一个新的访问方法,那么可以在activate中为系统加入一个action,语法如下:
“`
Helper::addAction(‘import_news’, ‘HelloWorld_NewsImport’);
“`
此action的访问路径:http://www.域名.com/action/import_news(用于数据导入或者数据拉取特别有用)

更多的文章可以通过本站搜索进行定位。

—–天使漫步

[1]: https://www.typechodev.com/plugin/29.html

原创文章,作者:admin,如若转载,请注明出处:https://www.typechodev.com/plugin/695.html

(0)
上一篇 2016-08-31 上午10:07
下一篇 2016-08-31 下午12:17

相关推荐

  • Typecho插件开发入门教程之HelloWorld

    任何语言的学习,都是从Hello World开始的,本文也不脱俗,我们也从Hello World来开始我们的学习之旅。 ## 基本结构 ##**1.文件结构**首先是插件的文件构成…

    插件开发 2015-02-28
  • Typecho文章编辑器

    ![23 Markdown.jpg][1]Typecho自带的编辑器非常简单,对编辑器有更多要求的,可以使用插件。但是,Typecho支持markdown其实是非常好的,即时你换其…

    插件开发 2015-03-31
  • Typecho中的路由解析

    ## 路由概述 路由的功能简单的说就是根据请求(即URL)找到对应业务代码(或者说控制器,Controller),请求来自用户端,业务由系统提供,路由器的主要任务就是为请求和业务提…

    插件开发 2014-12-31
  • Typecho中为插件添加路由:addRoute

    Helper::addRoute接口,可以往typecho里面添加特定的路由策略,进而将url请求重定向到自己的控制器或者插件上。 本文我们来完成一个简单的实例,将`www.typ…

    插件开发 2015-04-30
  • 获取Typecho插件信息代码片段

    在插件开发中经常需要获取插件的代码片段,比较版本信息什么的以便提示升级。 代码示例: Typecho_Widget::widget(‘Widget_Plugins_Li…

    插件开发 2017-04-05
  • Typecho中启用代码高亮插件SyntaxHighlighter

    在网上找了几个插件安装均失效,下面这个地址还可以有,安装完之后还可以选择多种代码颜色风格哈!![2908646526.png][1] ## 安装步骤 ## 1. 进入服务器里面的`…

    插件开发 2015-03-31
  • typecho插件开发中常用接口速查

    ## 注册资源api1. Helper::addRoute,添加路由。2. Helper::addAction,添加控制器 ## 常用系统钩子 ## 常见插件写法 //todo 待…

    插件开发 2015-04-30
  • Typecho网站数据备份脚本

    分享一枚自用的TE网站备份脚本,可以备份te网站,配合七牛的同步程序,即可实现数据备份~ 用法:1. 下载文章附件中的脚本,放置在你的服务器上,任意目录。2. 添加权限,包括脚本的…

    插件开发 2015-10-31
  • Typecho插件制作实例:制作sitemap插件

    ### 原理介绍sitemap插件的原理其实很简单,就是监听文章的变化(新增或者编辑),并在文章变化的时候更新sitemap文件。sitemap是各大博主用得最多的功能之一,今日T…

    插件开发 2015-04-30
  • 往typecho插入文章之自定义字段用法及扩展

    **- 前言**上一篇文章[typecho二次开发之使用python爬取数据并入库typecho的心得][1]已经解决了关于怎么往typecho插入附属数据的问题,但是留了一个问题…

    插件开发 2016-11-30

发表评论

您的电子邮箱地址不会被公开。