在做dz论坛二次开发过程中首先要研究的就是Discuz论坛程序代码的运行流程或者说是运行机制。dz论坛和我们比较常见的mvc结构有一些相似的地方,对于熟悉php框架的人来说上手dz论坛也是很简单的,该教程只针对有一定基础的php老鸟,小白可能无法理解。
下面让我们总结一下对于一个discuz论坛的程序,当网站收到用户的请求home.php?mod=space&do=blog时,网站程序内部分派工作的次序
1 home.php
2 分派给 source\module\home\home_space.php
3 分派给 source\include\space\space_blog.php
4 数据取自source\class\table\table_home_blog.php
5 格式定义在 template\default\home\space_blog_list.htm
从这些文件的内容和作用看,Discuz是按照MVC 架构模式将程序分割成若干逻辑部件:模型-视图-控制器(Model-View-Controller) 。source\include\space\space_blog.php属于服务层,source\class\table\table_home_blog.php属于数据层,二者合起来组成了模型层,template\default\home\space_blog_list.htm属于视图层,而home.php和source\module\home\home_space.php属于控制器层
Dz用户头像
echo avatar($uid,small)
diy修改用的模板目录
D:\xampp\htdocs\zhihubbs\data\template\1_diy_forum_viewthread.tpl.php
Action_source的解释
action source 有以下几种:
asc
asc_after
clm
clm_login_after
my
saic
saic_after
asc开头是asc用户,CLM开头是CLM用户。my 、saic 、saic_after 这三个是大通员工
DZ插件开发开启
$_config[‘plugindeveloper’] = 0;
$_config[‘plugindeveloper’] = 1;开启插件设计者模式
$_config[‘plugindeveloper’] = 2;开启设计插件功能和显示嵌入点