Discuzx2 开发标准流程笔记

所属分类: CMS教程 / discuz 阅读数: 2056
收藏 0 赞 0 分享
首先,要理解每一个根目录页面的大概的加载流程顺序。这里,我就不用根目录的标准文件了。直接举例,写一个新的模块,它的名字叫做newModule.php。

流程是这样的:

1. newModule.php首先加载核心的类文件,/source/class/clsss_core.php这个是核心的类文件,这个文件是初始化了整个dz的核心对象,用了单例模式。名字叫做$discuz,这个对象里面有几个比较重要的特点。首先,是$_G的参数,被引用到了这个对象的var属性中,也就是$discuz->var = $_G,然后在对象内用$this->var来操作$_G,在对象外面,比如独立函数中,使用$_G来操作参数;其次是这个对象里面引用了所有的其他对象,包括数据库对象和其他对象,都是用引用来获得在对象内操作的它们时的同步改变。(其实这个设计原本就比较混乱,不过可以理解,为了照顾以前的设计,纯OO的php设计是忌讳这样的,应该使用注册表或者组合模式来得更好)

2. 加载支持文件,/source/function/function_core.php文件是所有核心函数,何谓核心函数,核心函数的意思就是在核心类需要实例化的时候,它们就会被使用到。

3. 加载模块所需要的独立函数, /source/function/function_newModule.php文件,是该模块自己所需要的独立的函数,这些函数应该是从逻辑或者是业务上来说是不能被归结到某个对象或者类里面。

4. 加载模块自定义的类文件,/source/class/class_newModule.php文件,这个文件是新模块所需要用到类,这个文件可以创建自己的扩展类,特别是领域驱动,或者OO爱好者。

5. 加载模块自定义的动作文件,什么叫动作文件,就是url传值中的mod,这文件的作用是,如果提供最后这个新模块所需要的最终入口函数。

6. 加载完以上文件,那么,就可以产生了一个可以供用来使用的大块php的。所有的必须要的函数都已经准备,就等着ajax或者form的提交或者template的显示。

需要注意一点是:其实这里是一个比较标准的,遵从dz原本设计的流程,可以无缝的内签到dz中,而不会因为系统升级从来影响功能。淡然了。高手们从来都不满足的,他们一般都会脱离dz的流程。不过,破坏性怎么样?就不得而知了。需要因人而异。
我的建议是使用OO和少许的设计模式,来组织代码,理顺业务,这样扩展性较好,复用率高。当然,喜欢怎么玩,就怎么玩。开源的嘛。(其实数据库感觉设计的可以,如果是我,想必设计不出来,高手勿喷。)
更多精彩内容其他人还在看

火车头 Discuz-X 1.0 论坛免登陆发布接口

选择您网站对应的接口文件.如您网站是gbk编码,请选择 jiekou_gbk.php,如果您论坛是utf8编码,请选择 jiekou_utf8.php.
收藏 0 赞 0 分享

火车头Discuz 7.2 免登陆帖子发布接口

该接口仅适用于发布主题或回复到到Discuz 7.2 论坛.
收藏 0 赞 0 分享

火车头 SupeSite7.5 文章免登陆发布接口发布

可以达到和手工发布文章完全一样的效果,包括指定发布时间,插入分页符等功能.
收藏 0 赞 0 分享

巧用五招提升Discuz!X运行速度

Discuz!X自它诞生以来就饱受争议,无论是正面的还是侧面的,它被康盛推出了,那么,它就有他的优势之所在,而discuz作为我们站长运营过程中必不可少的程序之一,它的整体优化也是十分让人关心的。
收藏 0 赞 0 分享

Discuz X1.5 htaccess和httpd.ini文件设置

检查论坛所在目录中是否存在 .htaccess 文件,如果不存在,请手工建立此文件。
收藏 0 赞 0 分享

Discuz!X1.5去掉Powered by Discuz!修改的方法

Discuz!X1.5去掉Powered by Discuz!的方法,需要的朋友可以参考下。
收藏 0 赞 0 分享

DiscuzX1.5 真正的IIS7用无错URL静态化规则

在康盛的论坛里找到了可以用的伪静态规则,经验证可以使用,下面是规则
收藏 0 赞 0 分享

安装Discuz X1.5网址后面带端口的解决方法

新安装的Discuz!X1.5后,网站会自动识别出PHP所在服务端口800,并在所有链接上自动添加,导至程序无法正常访问请问该如何解决
收藏 0 赞 0 分享

Discuz! X1.5插件制作学习之旅 推荐

Discuz! X1.5插件制作学习之旅 推荐,使用discuz的朋友可以参考下。
收藏 0 赞 0 分享

Discuz-x 默认模板目录结构说明

本文介绍默认模板的目录文件结构,每个页面使用的模板文件,方便大家在模板制作中准确定位文件,提供效率。
收藏 0 赞 0 分享
查看更多