Vi指令大全
Oct 09

index.php首页为例,来分析程序的执行过程,脚本语言用包含切割方式来使程序模块化,java在这里就比较严谨,但是明显不如PHP来得简单。

         Index.php包含了./include/common.inc.php./include/forum.func.php;以及模板文件template('discuz');

         需要说明的是discuz!的模板不像一般标准的模板引擎,采用模型推入,模板渲染两步把模板功能很清晰的分开,如smarty。而是利用一个包含功能,把所有页面显示的工作交给一个可以模板化处理的php文件。

         Common.inc.php,故名思意,是通用功能的所在地,具体包括哪些呢:

         1./include/global.func.php全局函数(认证码,字符串操作,Cookie处理,日志,分页

         2)机器人处理

         3./config.inc.php配置信息读取(数据库、email、防攻击、安全)

         4/include/security.inc.php防攻击处理

         5./include/db_'.$database.'.class.php数据库类

         6/forumdata/cache/cache_settings.php读取缓存设置,这个是程序在运行时生成的PHP数组。

         7)负载控制

         8)在线用户处理

         9)更新缓存

         10)插件包含

         11)广告

         12)用户访问控制

 

         Forum.func.php就是对论坛操作的常见函数了。

         继续,在index.php页面中设置了$discuz_action = 1;这个是定义此控制器的标识号,然后是处理此页面的缓存,接下来就是获取首页内要显示的东西了,最后会员,新贴计算,RSS,热门标签,公告,论坛。

         其中,Discuz!复杂之处在于缓存的方案,

Like others

One Responses to “Discuz!架构分析初步分析(一)首页”

  1. Admin Says:

    评论功能有Bug?

Leave a Reply

Identifying Code