您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程
Discuz目录结构文件注释
单羽2025-07-21Discuz教程已有人查阅
导读下面是Discuz! 的文件目录及对应的描述。日常的开发中主要会涉及到source和template目录。虽然目录和文件都很多,但是实际上结构还是很清晰,大多数情况下通过文件名和目录就能知道某个文件的作用。
下面是Discuz! 的文件目录及对应的描述。日常的开发中主要会涉及到source和template目录。虽然目录和文件都很多,但是实际上结构还是很清晰,大多数情况下通过文件名和目录就能知道某个文件的作用。比如:
\source\class\discuz\discuz_censor.php 用来处理敏感词过滤的类
\source\function\function_credit.php 处理积分操作的函数库
\source\module\forum\forum_viewthread.php 处理帖子显示页面的模块另外,source目录下的class、function、module、include、admincp这几个文件夹下的程序文件命名要遵守如下规则:文件名前缀为所在目录的名字加上下划线(_)目录结构详细: /┬── 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服务端程序
自动加载
Discuz! X2.5要求PHP版本大于5.1,抛弃了对PHP4的支持,因此支持更多的PHP新特性,自动加载类文件就是其中一个。在class_core.php中有这样一段代码:
注意:产品中个别特殊类由于历史原因无法实现自动加载,需手动处理 include或requireclass_core.php
流程控制的说明
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,仅为方便使用,代码如下
\source\class\discuz\discuz_censor.php 用来处理敏感词过滤的类
\source\function\function_credit.php 处理积分操作的函数库
\source\module\forum\forum_viewthread.php 处理帖子显示页面的模块另外,source目录下的class、function、module、include、admincp这几个文件夹下的程序文件命名要遵守如下规则:文件名前缀为所在目录的名字加上下划线(_)目录结构详细: /┬── 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服务端程序
自动加载
Discuz! X2.5要求PHP版本大于5.1,抛弃了对PHP4的支持,因此支持更多的PHP新特性,自动加载类文件就是其中一个。在class_core.php中有这样一段代码:
if(function_exists('spl_autoload_register')) {
spl_autoload_register(array('core', 'autoload'));
} else {
function __autoload($class) {
return core::autoload($class);
}
}
当调用不存在的类的时候就会调用core::autoload方法来加载相应的类文件。所以我们在开发的过程中就要用到某个类的时候就不需要include或者require了。只要对应的类文件存在,并且命名符合规范,直接调用即可。注意:产品中个别特殊类由于历史原因无法实现自动加载,需手动处理 include或requireclass_core.php
流程控制的说明
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 {}
本文标签:
很赞哦! ()
上一篇:k8s部署discuz的步骤教程
相关教程
图文教程
Discuz 7.2版本SQL注入漏洞
实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险!Discuz 7.2 版本SQL注入漏洞的利用
discuz是什么?有什么作用?
discuz是一套通用的社区论坛软件系统,是一个采用PHP和MySQL等其他多种数据库构建的 论坛解决方案。使用discuz,用户可以在不需要任何编程的基
discuz加密解密算法介绍
今天和大家分享一下discuz的加密和解密算法研究了一个星期了,总结了这个算法有三个特点1,动态性,同一字符串每次加密的密文都不一样2,时间性,可以自己加一个限期参数,以秒为单位
Discuz项目新建子网站的方法
在.net版的Discuz项目中,后台管理模块Discuze.Web.Admin是一个单独的模块,但是,打开解决方案的文件夹却找不到单独模块的文件夹存放,而是在Discuz.Web项目里的admin文件夹里。
相关源码
-
帝国cms淘宝客京东联盟网站整站源码下载本模板基于帝国CMS内核深度开发,为淘宝客行业量身定制。随着腾讯微信与淘宝生态的互联互通,淘宝客链接现可在微信、QQ等平台直接分享,为推广带来更多便利。模板特别优化了店铺推广功能,有效避免商品下架导致的链接失效问题,同时支持京东联盟等多平台商品推广。查看源码 -
(自适应响应式)AI智能电子科技产品pbootcms网站模板下载基于PbootCMS内核的响应式模板,为AI智能硬件、电子产品等科技企业打造,通过技术创新实现品牌数字化升级。查看源码 -
WordPress个人博客主题 - wp-Concise-v1.0免费下载wp-Concise-v1.0是一款专为个人博客设计的简约风格主题,采用全宽排版设计理念,注重内容呈现效果。该模板适用于个人随笔、技术分享、生活记录等博客场景,帮助用户打造专业的内容展示空间。查看源码 -
(PC+WAP)餐饮奶茶美食小吃招商加盟pbootcms模板源码下载为茶饮烘焙、小吃快餐等餐饮品牌打造的招商加盟系统,助力品牌快速拓展市场;双端pc+wap设计呈现加盟政策对比表。支持后台实时更新菜品图片、加盟费用等关键信息。查看源码 -
(自适应)变压器电子元器件电器配件pbootcms网站模板源码为电子元器件企业打造的响应式网站模板,基于PbootCMS内核开发,助力企业快速构建专业级线上展示平台。支持页面独立设置标题、关键词和描述,内置SEO友好结构。PHP程序确保运行安全稳定,有助于提升搜索引擎收录效果。查看源码 -
(PC+WAP)家居装饰家装建材营销型网站pbootcms模板下载本模板基于PbootCMS开发,主要服务于家居装饰、建材及相关行业。采用现代化设计风格,同时适配PC和移动设备访问。模板结构清晰,突出展示家装案例和建材产品,帮助企业在线上建立专业形象,有效展示产品与服务优势。查看源码
| 分享笔记 (共有 篇笔记) |
