大家好,又见面了,我是你们的朋友全栈君。
Discuz 二次开发 (一) 目录结构和运行逻辑
目录结构
DISCUZ使用自己的框架,与现在主流的web框架不同,DISCUZ没有路由表,他的路由是由入口文件来实现的。
- api
- uc.php UCenter 通信文件
- /api/addons 应用中心
- /api/connect 通讯互联
- /api/google Google引擎结构处理
- /api/javascript 数据和广告的js调用
- /api/manyou manyou应用及搜索等相关服务
- /api/remote 远程更新
- /api/trade 支付宝、财付通等交易接口
- archiver (论坛Archiver静态化目录)
- config
- config_global.php 论坛核心参数配置文件
- config_ucenter.php UCenter核心参数配置文件
- data (论坛数据缓存目录)
- install (论坛安装目录(初始化运行时直接请求到此处将重新安装论坛))
- source (程序后端功能处理目录)
- discuz_version.php 程序版本号文件
- /source/admincp 后台管理
- /source/archiver 论坛archiver静态化程序目录
- /source/class 核心类库
- /source/function discuzX自定义函数库
- /source/include 程序功能组件目录
- /source/language 程序语言包(kv结构)
- /source/module 程序功能模块程序包
- /source/plugins 插件扩展目录
- static (程序资源目录(头像、图片、下载文件、js文件等等))
- template (前端模板目录)
- /default/common 基础css文件、header、footer等公共引入文件
- /default/collage 大学计划页面
- /default/dige dige专区页面
- /default/forum 首页、帖子页面
- /default/member 会员页面
- /default/home 家园页面
- /default/group 群组页面
- /default/mobile 移动端页面
- /default/portal 文章页面
- /default/search 搜索页面
- uc_client (UCenter客户端)
- /uc_client/control UC业务处理操作类
- /uc_client/data 缓存文件目录
- /uc_client/lib 类库目录(包括数据库操作类,XML类,UCCODE类,邮件发送类)
- /uc_client/model UC业务模型类
- uc_server (UCenter服务端 后台ucenter功能实现目录)
- 根目录文件
- admin.php 后台入口文件
- api.php API输出 入口文件
- collage.php 大学计划入口文件
- composer.json composer依赖版本记录文件
- composer.lock composer依赖版本控制文件
- connect.php 云平台接口文件
- dige.php dige专区入口文件
- forum.php 帖子信息入口文件
- group.php 群组入口文件
- home.php 家园入口文件
- index.php 首页
- member.php 用户入口文件(登录、注册、退出等)
- misc.php 程序杂项扩展入口
- plugin.php 插件入口文件
- portal.php 门户入口文件
- robots.txt 搜索引擎限制文件
- search.php 搜索频道入口文件
2. 运行逻辑
discuz的入口文件起到了路由的作用。一个标准的discuz请求如下:
代码语言:javascript复制http://localhost/home.php?mod=space&uid=1&do=profile
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144604.html原文链接:https://javaforall.cn