discuz!2.5 论坛架构(一)

目录结构
/┬── api 外部接口 │ ├── connect 腾讯互联 │ ├── db UCenter数据库备份接口 │ ├── google Google引擎使用 │ ├── javascript 数据和广告的 JS调用 │ ├── manyou manyou应用及搜索等相关服务 │ └── trade 在线支付接口 ├── archiver 论坛静态化 ├── config 站点配置文件 ├── data 数据缓存及附件 │ ├── attachment 上传的文件目录 │ │ ├── album 相册专用 │ │ ├── block DIY专用 │ │ ├── common 公共上传 │ │ ├── forum 论坛附件专用 │ │ ├── group 群组图标和头部图片专用 │ │ ├── portal 门户上传文件专用 │ │ ├── profile 个人资料专用 │ │ └── temp 临时文件 │ ├── avatar 视频认证专用 │ ├── backup 站点数据备份 │ ├── cache 数据缓存 │ ├── diy DIY模块缓存 │ ├── ipdata Discuz!IP库 │ ├── log 站点日志,前/后台管理日志、错误日志等 │ ├── plugindata 插件缓存数据 │ ├── template 模板缓存目录 │ └── threadcache 帖子缓存 ├── install 安装目录 ├── source 代码主目录 │ ├── admincp 后台程序 │ │ ├── cloud Discuz!云平台 │ │ ├── menu 菜单 │ │ └── moderate 审核功能 │ ├── archiver 论坛静态化功能代码 │ ├── class 类文件目录 │ │ ├── adv 站点广告功能 │ │ ├── block DIY模块功能文件 │ │ ├── cache 缓存类 │ │ ├── db 数据库类 │ │ ├── discuz discuz类 │ │ ├── forum 论坛 │ │ ├── helper 存放从function_core分离出来的一部分函数 │ │ ├── lib 工具类的集合类 │ │ ├── magic 道具 │ │ ├── memory 内存类 │ │ ├── secqaa 验证问答 │ │ ├── table 数据表操作类 │ │ └── task 站点任务功能 │ ├── function 函数文件 │ │ └── cache 缓存功能拆分目录 │ ├── include 被包含的文件 │ │ ├── collection 淘帖 │ │ ├── cron 计划任务 │ │ ├── misc 杂项 │ │ ├── modcp 前台论坛管理 │ │ ├── portalcp 前台门户管理 │ │ ├── post 帖子相关 │ │ ├── search 搜索功能 │ │ ├── space 家园和个人相关功能 │ │ ├── spacecp 个人设置相关 │ │ ├── table 编码转换数据 │ │ ├── thread 查看主题相关 │ │ └── topicadmin 前台主题管理 │ ├── language 站点语言包 │ │ ├── adv 广告 │ │ ├── block DIY模块 │ │ ├── forum 论坛 │ │ ├── group 群组 │ │ ├── home 家园 │ │ ├── magic 道具 │ │ ├── member 登录注册页面语言 │ │ ├── mobile 手机访问功能语言 │ │ ├── portal 门户语言 │ │ ├── ranklist 排行榜语言 │ │ ├── search 搜索 │ │ ├── secqaa 安全问答 │ │ ├── tag 标签 │ │ ├── task 任务 │ │ └── userapp manyou应用 │ ├── module 功能模块 │ │ ├── connect 腾讯互联 │ │ ├── forum 论坛 │ │ ├── group 群组 │ │ ├── home 家园 │ │ ├── member 登录注册 │ │ ├── misc 杂项 │ │ ├── portal 门户 │ │ ├── search 搜索 │ │ └── userapp 应用 │ └── plugin 插件目录 │ ├── cloudstat Discuz!云平台 │ ├── myapp Manyou应用 │ ├── myrepeats 马甲功能 │ ├── qqconnect 腾讯互联 │ └── soso_smilies 腾讯搜搜表情 ├── static 非PHP文件 │ ├── image 界面图片 │ ├── js 站点JS脚本 │ ├── space 空间皮肤 │ └── topic 门户皮肤 ├── template 模板目录 │ └── default 默认风格 ├── uc_client UCenter客户端程序 └── uc_server UCenter服务端程序

自动加载:
if(function_exists('spl_autoload_register'))
{
       spl_autoload_register(array('core','autoload'));
} else {
       function __autoload($class)
       {
              return core::autoload($class);
       }
}

当调用不存在的类的时候就会调用core::autoload方法来加载相应的类文件。所以我们在开发的过程中就要用到某个类的时候就不需要include或者require了。只要对应的类文件存在,并且命名符合规范,直接调用即可。

class_core.php是入口启动文件,主要实现了以下功能:

  • 注册 autoload 方法和异常处理方法
  • C::t 方法的实现:通过 C::t 方法来调用数据层对应表的对象来实现对数据的操作
  • memory 的初始化:主要由 discuz_memory 类来实现
  • 创建 discuz_application 实例 ( discuz_application 是原来 discuz! X2 的 discuz_core):进行核心的初始化操作,主要有加载配置文件、加载环境变量、连接数据库、加载setting信息、初始化用户数据、session的初始、计划任务等
  • 简写类的映射:将 class core 映射为 C,discuz_database 映射为 DB,仅为方便使用,代码如下
class c extends core {}

class DB extends discuz_database{}

以上为摘录。

转载于:https://www.cnblogs.com/zhaozhilu/p/3581780.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Discuz! X2.5新版本推出四大新体系:新社区形态、新技术体系、新门户系统以及新移动化体验,其中新门户系统主要从内容推送、片裁切、模块管理等角度进行了深度优化,拟帮助站长和编辑更加省时省力地运维网站,提高网站运营管理效率。 Discuz! X2.5重要改变: 产品架构全新改造 研发团队集中数月的时间,一直在致力于改造Discuz!产品的现有架构,仅数据库操作相关的架构优化,就涉及317个程序文件的4525处代码片段修改,并新增DB类文件217个。 从Discuz! X2.5起,数据读写层已经实现全面独立封装。新版支持以表为单位的分服务器部署;数据表全面支持内存级缓存启用,大幅度降低MySQL压力;对数据的输入进行了统一防注射处理,加强数据入库安全性。 性能负载能力和稳定性大幅优化 针对大访问量情况下,收集到各类性能瓶颈点,新版进行了集中优化和改进,其中包括: 采用全新的帖子查看数更新机制,解决大访问量情况下,因瞬间大批量更新主题表造成的MySQL死锁的问题; 用户表支持内存级缓存启用;同时,新增不活跃用户(大部分站点比例超过70%)归档功能,让用户表只保留最近活跃用户,从而大幅度提升用户表性能; 高楼层贴不再是性能瓶颈。帖子表已经优化索引模式,启用全新的查询模式,浏览高楼层帖子的分页不再有负载问题; 对帖子中的评分、点评数据增加缓存功能,解决评分、点评功能大量使用可能造成PHP内存占用的问题; DIY模块聚合增加限制数目优化,避免复杂检索条件下对数据库造成全表遍历的负载问题; session机制新增关闭可选项。访问量大的网站可以考虑关闭session机制,增强系统抗压性能。 淘贴 为了更好的挖掘站点内容,形成历史沉淀,增强可阅读性,新增淘贴功能。通过此功能,可以借助会员的力量,让论坛的好帖子得到更好的整理与展现,让论坛会员可以更好的发现站点精彩内容。 微博元素 新增单向关注功能、@用户功能,让微博中的优秀元素为论坛所用;与论坛紧密结合的特色广播功能,同一个主题两种浏览模式,让传统的以不同版块为入口的阅读模式,可以平滑的切换到以收听关系链为主的新阅读体验,互动统一,相辅相成;增加腾讯微博评论回流功能,分享到微博的帖子,如果在微博中有人评价,也会自动回帖到论坛的帖子里面。 应用中心 新版后台内置应用中心。通过应用中心,站长寻找和安装插件、模板、扩展不再迷茫,实现一键安装。当插件有更新的时候,会自动提示进行升级,让插件的升级也变得十分简单和及时。 同时,面向PHP开发人员、UI设计人员推出Discuz!开发者平台,可以更方便的发布和维护自己的插件、扩展产品和模板风格。 安全补丁和自动升级 新增全新的安全补丁更新和产品自动升级机制。当产品发现重要安全问题的时候,站长将会收到安全警示,并实现在线打补丁和版本更新功能。同时,考虑到很多站点都进行了自我功能开发,源文件有所修改,因此,打补丁启用了独有的字符串匹配替换模式,可以在不影响站点自己定制功能情况下,尽大可能的进行漏洞修补。 站长管理 新版管理后台,进行了多达25处的功能改进,让站长的管理更加方便。重点包括用户批量管理方面的使用改进;主题、回帖回收站的批量删除改进;进行批量编辑设置时管理优化;管理日志查询功能增强;优化表情添加操作,批量添加表情更方便;增强嵌入钩子检测;站长推荐功能增强,可以添加多条推荐内容,前台会随机显示1条;创建导航优化;增加外地ip发帖审核机制;快速清除某人签名、自定义头衔、头像等。 论坛功能 新版针对论坛相关的功能,有接近40项的功能改进,让用户使用论坛的体验进一步增强。其中包括:用户收藏的版块在论坛首页优先显示,更方便的访问自己收藏的论坛;增加定时发帖功能;增加隐藏帖子代码的时间设置,到期后隐藏内容自动失效;帖子内容页片幻灯支持网络片,同时也帖子封面支持远程片,并在帖子列表片模式插件嵌入点;帖子摄影片增加exif信息;优化上传功能,Flash批量上传全新改造;新版新增给用户打标签的功能,站长可以设置一些触发条件,当用户参与后,就会自动设置一个标签,从而可以精确实现对站内用户的画像;针对用户的管理,增加用户违规记录档案,让多次违规用户可以更好被跟踪;新增全新注册流程模式,用户需要先验证邮箱然后再可以进行下一步注册操作,以有效防止大量垃圾注册的产生;新增导读功能,将近期最热、最新的主题更好的进行展示等。 分类信息 新版针对分类信息进行了功能增强,其中新增加字段导入导出的功能,可以让分类信息的模型分享变得更加开放和方便;显示模板已经支持完全自定义,从而让分类信息在前台的展示,更加自由,不再拘束于现有版块的布局约束。此外,还包括增强对分类信息数值型、Email、URL的检测;TEXTAREA类型的字段也可以使用片、HTML加密,以及用户组权限分配;字段的信息保护增加认证组设置等。 群组 新版针对群组增加了先建立后审核功能,可以更好的规范群组的创建;群组已经允许在一级分类创建;群组简介支持Discuz! code等功能改进等 门户 新版针对门户功能,有20多项的功能改进,重点包括:增加编辑人员推送模块权限,编辑在前台有DIY的权限,但只能编辑模块数据;推送数据时可以读取多张片供选择并支持在线剪裁片;文章片上传方式改进;优化门户推送功能,并加强推送库管理;生成文章时,可以将当前帖子楼主的所有楼层生成一篇文章;生成文章流程进行整体优化;专题评论增加引用功能等。 Discuz! X2.5 正式版 build 20130222更新记录: IX 由于部分变量过滤不严导致的XSS问题 FIX 管理员在版块前台管理面板中更新推荐主题时,原主题推荐者ID被修改为管理员ID的问题(14039) FIX soso表情更换新域名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值