- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
emlog插件开发指南.
emlog插件开发指南(基于最新版本emlog 3.4.0)
emlog支持插件机制,这样使得开发者可以方便地向emlog中添加自己需要的功能。
1.插件实现原理:在emlog整个运行过程中我们设定了一些动作事件,遇到这些事件时emlog会自动的调用插件绑定到该事件的上的所有插件函数,从而实现插件的功能。
2.插件运行机制 2.1 API函数? ? ? ? API函数addAction()? ? ? ? 本函数的功能是将对系统事件的绑定? ? ? ? 本函数有两个参数:$hook, $actionFunc。$hook是绑定事件的名称,$actionFunc 是绑定到该事件钩子上的函数名称? ? ? ? 例子:? ? ? ? addAction(save_log,plugin_addlog);? ? ? ? 例子中将plugin_addlog函数绑定到系统的save_log事件中,只要系统执行到了save_log事件时,就会调用plugin_addlog函数.? ? ? ? API函数doAction()? ? ? ? 本函数的功能是指定某个动作下绑定的所有事件函数? ? ? ? 本函数有一个固定的参数:$hook,$hook是执行动作的名称? ? ? ? 其他的参数则可以在调用本函数时依次传入,函数会自动的发送给钩子函数? ? ? ? 例子:? ? ? ? doAction(save_log,$id);? ? ? ? 这是emlog的添加日志事件,在添加日志后会触发,参数为新日志的$id号码.? ? ? ? 那么系统会自动的将$id传入到每一个绑定到本事件的钩子函数中。? 2.2 插件文件系统? ? ? ? 插件目录:/content/plugins/
仅识别 “插件目录/插件名/插件名.php” 目录结构的插件。例如emlog默认的tips插件,其文件夹名称为tips,程序文件名称为tips.php
2.3 插件的激活与关闭在emlog后台的插件管理中,点击每个插件后的状态按钮即可激活/关闭插件。
2.4 插件的配置数据保存插件配置数据保存方式,可以有开发者自己决定,可以是写于php程序文件中,也可以是写入到数据库中.
3.插件开发标准 3.1 插件命名规则
插件名只能以半角的字母、数字、下划线(_)、横杠(-) 组合而成,且只能以字母作为开头
3.2 函数/变量命名标准????? ? 插件的所有函数/变量采用 插件名_ 作为前缀来命名????? ? 例如:????? ? $emlogplugin_var????? ? emlogplugin_dosomething()????? ? 采用这样的命名方式可以避免于其他插件的函数或者变量出现冲突.
3.3 代码书写规范
代码请严格参照emlog代码书写规范:
/p/emlog/wiki/coding_criterion
与下面标准有冲突的以下面为标准?? 3.4 插件文件名称????? ? 插件主文件名称必须与插件所在文件夹名称相同????? ? 设定插件参数的配置程序文件名称必须为 “插件名称_setting.php”????? ? (注:该文件为可选,如果你的插件需要用户配置参数才需要该文件来完成配置功能)????? ? 例如:????? ? emlogplugin/??????????? ? emlogplugin.php??????????? ? emlogplugin_setting.php? 3.5 请在你的插件文件开头增加限制语句? ? ? ? 插件函数文件需要增加:? ? ? ? !defined(EMLOG_ROOT) exit(access deined!);? ? ? ? 如果不增加该语句,那么直接访问插件的程序文件php会爆出博客的物理路径,对博客的安全造成威胁。? 3.6 过滤相关参数? ? ? ? 如果你的插件需要接收一些参数,请务必严格过滤每一个变量的数据.? ? ? ? 具体的内容可以参考一下这篇文章 PHP 安全指南 ? ? ? ? /files/200709/1/index.html
3.7 前台链接使用绝对地址
如果插件有在前台显示任何链接,必须使用BLOG_URL 常量拼接出绝对地址。
如:相关日志插件在前台阅读文章页面显示相关日志的链接
$out .= pa href=\.BLOG_URL.?post={$val[gid]}\{$val[title]}/a/p;。
4、当前插件挂载点及说明
插件挂载点 所在文件 描述 doAction(adm
您可能关注的文档
- Edojvmg王陆雅思听力807单词1..doc
- EDK实验教程中文翻译lab4mb..doc
- EDS-1112(机械性能)..doc
- EDTA3钠作用..doc
- EDPFPotential系统介绍..doc
- EDRV动态平衡阀电动调节阀..doc
- EDSS神经功能状况评估..doc
- EduOffice音乐示教仪乐理教学..docx
- EduOffice音乐示教仪辅助工具教学..docx
- EDP70userhandbook..doc
- 房地产企业产品创新策略规划与2025年目标客群画像定位分析.docx
- 2025年幼儿园保育员五级业务能力考试试题附解析.docx
- 航空物流市场需求动态变化对航空货运枢纽选址影响报告.docx
- 基于2025年抖音社交平台的短视频变现策略研究报告.docx
- 2025年幼儿园保育员业务考试试题(I卷)含答案.docx
- 2025-2026学年高中英语选择性必修第二册冀教版(2019)教学设计合集.docx
- 2025年无人机适航认证案例在安防监控领域的应用报告.docx
- 中小学教师心理健康教育能力提升规划与培训方案.docx
- 绿色环保产业扶持资金2025年申请政策红利与项目实施路径报告.docx
- 2025-2026学年高中英语选择性必修第二册上教版(2020)教学设计合集.docx
文档评论(0)