Emlog插件简单开发文档教程,emlog插件制作指南

时间:2020-08-01   阅读:340

emlog 支持插件机制,这样使得开发者可以方便地向emlog 中添加自己需要的功能。

一、插件实现原理:
    在emlog 整个运行过程中我们设定了一些动作事件,遇到这些事件时emlog 会自动的调用插件绑定到该事件的上的所有插件函数,从而实现插件的功能。

二、插件命名原则:
    插件名只能以半角的字母、数字、下划线(_)、横杠(-) 组合而成,且只能以字母作为开头。

1、插件文件名称
    插件主文件名称必须与插件所在文件夹名称相同,设定插件参数的配置程序文件名称必须为 “插件名称_setting.php”;(注:该文件为可选,如果你的插件需要用户配置参数才需要该文件来完成配置功能)
文件夹名:sl emlog
主文件名:slemlog.php(必须有此文件,相当于模板的module.php, 博客簿是这样理解的,函数变量的命名请尽快用于插件名一样<如:slemlog_xxx()>, 采用这样的命名方式可以避免于其他插件的函数或者变量出现冲突。)
参数设置文件:slemlog_setting.php(此文件看需求,可有可无)
写入数据库文件:slemlog_callback.php(数据需要写入数据库必须要有才文件)
前台显示文件:slemlog_show.php(此文件中的内容将会在前台显示,格式为:域名/?plugin=slemlog)

2、安全性
在插件文件开头增加限制语句
插件函数文件需要增加:!defined('EMLOG_ROOT') && exit('access deined!');
如果不增加该语句,那么直接访问插件的程序文件php会爆出 博客的物理路径,对 博客的安全造成威胁。
如果你的插件需要接收一些参数,请务必严格过滤每一个变量的数据.
例如:获取外部获取一个int型的参数,$id = $_GET['id']; 这样写是不安全的,要改为:$id = intval($_GET['id']);
如果是一个字符型的参数,$action = $_GET['action']; 这样写也是不安全的,要改为:$action = addslashes($_GET['action']);

三、插件各文件的写法说明
以下代码是在后台 “扩展功能” 中显示测试插件这几个字,可参考挂载点说明,放入不同的位置

<?php function slemlog_menu(){?><div class="sidebarsubmenu"><a href="./plugin.php?plugin=slemlog">测试插件</a></div>
<?php }
addAction('adm_sidebar_ext', 'slemlog_menu');?>


当前插件挂载点及说明请转到【 EMlog当前插件挂载点及说明】查看
  

上一篇:Emlog教程:获取最新微语

下一篇:Emlog分类页自定义输出每页显示条数

网友评论