欢迎来到天天文库
浏览记录
ID:40216047
大小:1.34 MB
页数:9页
时间:2019-07-26
《插discuzx件开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Discuz!X插件开发教程主讲人:杨欢插件设计的准备工作2021/10/1插件实现流程文件命名规范class_core.php模块功能白皮书功能需求概括设计阅读手册开发测试插件导出被引用程序文件,以.inc.php后缀命名普通程序文件,以.php后缀命名引用的函数库或类库,以.func.php(函数库)或.class.php(类库)后缀命名模板文件,以.htm后缀命名模板语言包文件,以.lang.php后缀命名Table类文件存放于source/plugin/identifier/table/目录下,并以table_表名.ph
2、p格式命名PHP及操作系统环境做了判断和兼容性处理初始化常量加载所需的基本函数库建立数据库连接获取用户信息预置读入了每个模块的各种设置变量插件接口概述插件开发准备工作插件模块分类插件变量配置2021/10/1开启开发者模式($_config['plugindeveloper']=1;)程序链接扩展项目程序脚本插件的参数读取与缓存控制2021/10/1参数读取编写插件程序时,可能需要读取一些插件的信息,如果插件需要使用者进行配置,还需要读取使用者设置的参数值。Discuz!允许插件程序使用数据库读取和缓存读取这两种方法获取插件信息
3、和参数。Discuz!的插件接口已经对插件信息进行了合理的缓存,使用缓存读取的方式,将比数据库读取速度更快,消耗的资源更是几乎可以忽略不计。缓存读取唯一的局限是需要插件使用插件接口提供的通用后台管理程序。如果使用自定义后台模块的方式,需要后台模块将参数存放到pluginvars数据表中,才能被系统正常缓存。我们强烈推荐您通过缓存读取插件信息和配置数据。缓存控制由于调用系统缓存统一通过“loadcache()”函数调用,并存放于$_G['cache']中,因此“loadcache('plugin')”后插件的变量缓会存放于$_G[
4、'cache']['plugin']中。嵌入点插件和以plugin.php为主脚本调用的插件无需加载此缓存,系统已自动加载了缓存。变量配置类型为“版块/*”的变量会保存在$_G['cache']['forums'][fid]['plugin']中。变量配置类型为“用户组/*”的变量会保存在$_G['cache']['usergroup_groupid']['plugin']和$_G['group']['plugin']中。Discuz!X模块开发2021/10/1页面嵌入模块特殊主题模块第三方拓展类
5、须存在)classplugin_identifier{functionHookId_1(){......return...;}......}//脚本嵌入点类classplugin_identifier_CURSCRIPTextendsplugin_identifier{functionHookId_1(){......return...;}......}?>
6、题链接中的前缀图标var$buttontext='发布xx主题';//发帖时按钮文字functionnewthread($fid){return...;}//发主题时页面新增的表单项目functionnewthread_submit($fid){}//主题发布后的数据判断functionnewthread_submit_end($fid,$tid){}//主题发布后的数据处理functioneditpost($fid,$tid){return...;}//编辑主题时页面新增的表单项目functioneditpost_submit
7、($fid,$tid){}//主题编辑后的数据判断functioneditpost_submit_end($fid,$tid){}//主题编辑后的数据处理functionnewreply_submit_end($fid,$tid){}//回帖后的数据处理functionviewthread($tid){return...;}//查看主题时页面新增的内容,通过return返回即可输出到主题首贴页面中}?>广告类脚本位置:source/class/adv/adv_name.php语言包位置:source/language/adv/l
8、ang_name.php道具类脚本位置:source/class/magic/magic_name.php语言包位置:source/language/magic/lang_name.php任务类脚本位置:source/class/task/task_name.p
此文档下载收益归作者所有