DiscuzX2.5 程序底层架构
2016-07-13 12:01
633 查看
程序底层架构
• 要求PHP版本大于5.1,抛弃了对PHP4的支持• 大量使用了面向对象编程(OOP)
• 实现了程序运程过程中按需加载,按需加载主要是针对类文件
• 对目录名、文件名和类名的要求
类文件存在在/source/class 目录中,类名和文件名相同,一个类一个文件,类名以下划线(_)分隔,第一个下划线之前部分为目录名,没有下划线的类名直接放/source/class/目录下。
产品中个别特殊类由于历史原因无法实现自动加载,需手动处理 include或require
• class_core.php 流程控制的说明
class_core.php是入口启动文件,主要实现了以下功能:
1、注册autoload方法和异常处理方法;
2、C::t方法的实现;
3、memory的初始化;
4、创建discuz_application实例(discuz_application是原来discuz! X2的discuz_core);
// 现在的 discuz_core 是个空壳子而已
class discuz_core extends discuz_application {
}
class discuz_core extends discuz_application {
}
5、简写类的映射:
class C extends core {}
class DB extends discuz_database {}
• function_core.php 减肥之术
function_core.php是系统的核心函数库文件,随着系统功能的丰富,函数库越来越大,慢慢地变成了系统快速启动的负担,为此我们将function_core中的函数按功能拆分到不同的类文件中,实现程序的按需加载; 原有函数名保留不变,做相应类静态方法的映射,兼容产品和插件的用法。
具体做法是在source/class目录增加两个目录,helper和lib,source/class/helper目录中的文件为函数的分类集合,类的静态方法,可直接使用不用实例化, source/class/lib目录中的文件为工具类的集合类文件,使用时需实例化。
相关文章推荐
- Android4.2.2 Camer系统架构图(HAL和回调处理)
- Android Camera API2.0下全新的Camera FW/HAL架构简述
- Android Camera 架构
- Writing an alsa driver译文-第一章 文件树架构
- J2EE 领域的一些技术框架结构图
- 博乐理科教育—Web网站企划_1
- Android的平台架构及特性
- HTML5菜鸟学习网站
- Hive环境、架构、搭建、安装
- MapReduce环境、原理、架构及操作
- 网站制作与发布简明教程
- 移动平台3G手机网站前端开发布局技巧汇总
- 添物零基础到架构师(基础篇) - JavaScript
- 添物零基础到架构师(基础篇) - JavaScript
- 如何提高网站的访问速度?
- 浅谈数据仓库的基本架构
- 求 架构设计 的视屏和 设计模式的视频 性能优化 的视频 系统源码分析 的视频 android
- 2016最新的旅游网站程序CMS系统优点和缺点对比分析
- 深入Linux内核架构笔记(第1章 )
- 蚂蚁变大象:浅谈常规网站是如何从小变大的