## discuz插件开发(3天)
适合人群:
php开发人员
内容:
1. discuz插件机制
2. discuz开发代码规范
3. 安全过滤机制
4. 数据库操作类 DB CT
5. 常用全局函数
6. ajax操作
7. 模板嵌入插件机制
官方插件开发文档:http://open.discuz.net/?ac=document&page=dev_plugin
## 注意事项
* 被普通程序文件引用的程序文件,以 .inc.php 后缀命名。
* 被普通程序文件,或引用程序文件引用的函数库或类库,以 .func.php(函数库) 或 .class.php(类库) 后缀命名。
* 模板文件,以 .htm 后缀命名,插件模板文件存在于 source/plugin/wanka/template/ 目录中,手机版插件模板存在于 source/plugin/wanka/template/mobile/目录中
* 模板语言包文件,以 .lang.php 后缀命名,插件语言包文件开发时存放于 data/plugindata/ 目录中,文件名为identifier.lang.php。
## class_core.php 模块功能白皮书
* 初始化常量 IN_DISCUZ 为 TRUE,用于 include 或 require 后续程序的判断,避免其他程序被非法引用。
* 读取社区程序所在绝对路径,存放于常量 DISCUZ_ROOT 中。
* 加载所需的基本函数库 source/function/function_core.php。
* 通过 config/config_global.php 中提供的数据库账号信息,建立数据库连接。Discuz! 支持数据表的前缀,如需获得表的全名,可使用“DB::table('tablename')”方式。
* 判断用户是否登录,如登录标记 $_G['uid'] 为非 0,同时将 $_G['username'](加了 addslashes 的用户名,可用于不加修改的插入数据库)、 $_G['member']['username'](原始的用户名,可用于页面显示)、$_G['member']['password'](用户密码的MD5串)等相应用户信息赋值,其他用户信息存放于 $_G['member'],更多信息可通过“getuserprofile()”获取。
* 判断用户管理权限,将管理权限标记 $_G['adminid'] 为 1~3 中间的值。0 代表普通用户;1 代表论坛管理员;2 代表超级版主;3 代表论坛版主。 将用户权限按照其所在的主用户组 ID 标记为 $_G['groupid'],相关权限从该 $_G['groupid'] 所对应的系统缓存中读出,存放于 $_G['group']。
* 预置读入了每个模块的各种设置变量。
* [X2.5变更内容] $_G['username'] 将不进行 addslashes 处理。
- 概述概述
- 本地安装discuz环境
- discuz目录结构
- DISCUZ模板开发
- 如何创建一个模板
- 模板网页自定义header和footer
- 模板标签语法
- 书写全局CSS和局部CSS
- Discuz内置常用JS函数
- 手机touch版开发
- 作业:完成一个topic页面
- DISCUZ插件开发
- discuz开启开发者模式
- 新插件的创建
- 插件页面嵌入点机制
- 插件模板机制
- 数据库DB类和CT类
- 插件手机版开发
- 插件后台函数
- 数据词典
- 插件缓存机制,配置参数读取
- 积分函数
- 计划任务模块开发
- 缓存更新模块开发
- 插件安装、更新、卸载脚本
- 插件安全方面的一些注意事项
- UC接口开发
- discuz扩展开发机制
- DISCUZ内部机制
- DISCUZ单页开发