• 售前

  • 售后

热门帖子
入门百科

Discuzx2 开发标准流程条记

[复制链接]
塞翁364 显示全部楼层 发表于 2021-8-14 14:53:12 |阅读模式 打印 上一主题 下一主题
首先,要明确每一个根目次页面的大概的加载流程次序。这里,我就不消根目次的标准文件了。直接举例,写一个新的模块,它的名字叫做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和少许的计划模式,来构造代码,理顺业务,如许扩展性较好,复用率高。固然,喜欢怎么玩,就怎么玩。开源的嘛。(实在数据库感觉计划的可以,假如是我,想必计划不出来,高手勿喷。)

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作