前言:为方便互联网数万Discuz!爱好者,更加深入了解Discuz!软件,本人在熟悉Discuz!过程中,顺便将个人经验写给大家。本贴内容由本人定期更新。本贴只介绍Discuz!中部分技术点,本贴紧属个人观点,不足之处,请各位多多指教,在下先此谢过!。“Discuz!”在下文中简称“DZ”。要弄 DZ 二次开发,必须至少具备如下技能: 1) 能够理很好理解MVC 构架的原理(虽然 DZ 不是 MVC 架构的) 2) 扎实的 PHP 基础,熟悉结构化程序,OOP 程序的写法及应用 3) 熟悉MYSQL 就用,掌握 SQL 语言,懂 SQL 优化者更佳 4) 熟悉使用 Discuz!的各项功能 一) Discuz!的文件系统目录 注:想搞 DZ 开发,就得弄懂 DZ 中每个文件的功能。 a) Admin:后台管理功能模块 b) Api:DZ 系统与其它系统之间接口程序 c) Archiver:DZ 中,用以搜索引擎优化的无图版 d) Attachments:DZ 中 ,用户上传附件的存放目录 e) Customavatars:DZ 中,用户自定义头像的目录 f) Forumdata:DZ 缓存数据的存放目录 g) Images:DZ 模板中的图片存放目录 h) Include:DZ 常用函数库,基本功能模块目录 i) Ipdata:DZ 统计 IP 来路用的数据 j) Plugins:DZ 插件信息的存放目录 k) Templates:DZ 模板文件的存放目录 l) Wap:DZ 无线,Wap 程序处理目录 二) 必须记熟Discuz!数据库设计的每个表的功能,每个表中每个字段的功能。 关于 DZ 数据库设计文档,请参阅 DZ 相关的项目文档(请从本贴附件中下载) 三) Discuz!的流程控制 a) 后台流程控:DZ 后台所有的功能,均需要注册到 admincp.php 文件,每个功能都至少有一个或一个以上的 Action(动作),在admincp.php 中,可以定义 Action 的执行权限,分别为:“admin==1”管理员,或“admin==2 || admin==3”超级版主和版主,每个Action 对应一个脚本文件,脚本文件的命名为action.inc.php(*.inc.php),并存放在admin 目录下,如执行:admincp.php?action=dodo,相当于执行 admin 目录下的 dodo.inc.php 文件 b) 前台流程控制:前台的流程控制比较简单:流程是自由的,如: 首页:index.php 会员注册:register.php; 会员登录:logging.php 发贴程序:post.php 会员信息:member.php 论坛内容:forumdisplay.php 查看贴子:viewthread.php „大部分功能,此处不一一列出„ c) DZ 根目下的 config.inc.php 属于整个DZ 系统的...