基础说明
文章分页:

插件可为框架各应用扩展功能,利用框架所提供各类接口或钩子,为应用无缝添加各类显性或隐性功能。

目录结构

可通过框架后台插件管理设置参数,并在应用管理的插件选项中设置对应应用需调用那些插件,文件目录结构如下:

PLUGIN目录/插件名称/
index.php  入口脚本,插件调用时将首先调用此文件(必需)
info.php 介绍文件,格式请参考自带样例(必需)
class.php 包含检测(check)、安装(install)、卸载(uninstall)以及其他基本功能(如模版标签解析,页面钩子等)的脚本(必需)
config.php 配置信息(参考 设置管理 栏目)
route.php 自定义路由信息,格式与应用路由相同
template 目录,存放插件所需的模版文件
module 目录,存放插件所需的脚本文件
config 目录,存放配置文件描述,分语种,用于生成配置设置页面
language 目录,存放语言包文件

 

接口规范

插件核心类为插件目录下的 class.php 文件,类命名格式为 plugin_[插件名称],不可设置命名空间,并要符合如下接口规则:

interface interface_plugin {  
    public static function check(&$result);  
    public static function install();  
    public static function uninstall();  
}

相关参数解释如下:

  • check(&$result) - 检测当前环境是否符合插件要求,返回布尔结果,同时将回馈文本赋值给 $result;
  • install() - 插件安装脚本;
  • uninstall() - 插件卸载脚本。

所有插件类都必须扩展自此接口,否则无法执行。

 

通用方法

框架提供了一些插件常用方法,以供需要:

  • regPluginRoute($idx) - 注册属于插件 $idx 的自定义路由;
  • removePluginRoute($idx) - 移除属于插件 $idx 的自定义路由。
  • addPluginLink($name, $path) - 在管理后台的插件栏目添加一项名为 $name 的功能链接,指向相对于框架根URL的地址 $path ;
  • removePluginLink($path) - 移除对应 $path 地址的管理项链接;
  • setPluginTemplate($idx, $name) - 针对框架管理后台的扩展,返回主模版(系统自带)和子模版(插件自带)的实例,其中 $idx 为插件名称,$name 为模版名称(为空则与 $idx 同值,模版统一存储在插件template子目录下);
  • showPluginPage($idx, $page) - 在框架后台运行某一功能页面,$idx 为插件名称,$page 为需要执行的脚本名称。其中,插件目录下 template 目录和 module 目录需存在对应 $page 变量的 tpl 和 php 文件

 

上一篇:域名绑定
下一篇:组成结构