`
郭小小小
  • 浏览: 3106 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

discuz使用

阅读更多

 

discuz是一个开源软件,我们是使用这个软件做论坛管理的,简单介绍一下discuz的代码的一个组织架构,供需要的人拿去参考。。。

1.discuz目录结构的

   目录结构:

/api
   uc.php UCenter通信文件
   /api/addons应用中心
   /api/connect腾讯互联
   /api/googleGoogle引擎接口处理
   /api/javascript数据和广告的 JS调用
   /api/manyoumanyou应用及搜索等相关服务
  /api/remote远程更新?
  /api/trade支付宝、财付通等交易接口
  /archiver论坛Archiver静态化
/config程序配置文件
   config_global.php论坛核心参数配置文件
   config_ucenter.phpUCenter核心参数配置文件
   config_global_default.php论坛核心参数配置文件(例子)
   config_ucenter_default.phpUCenter核心参数配置文件(例子)
/data附件数据、数据库与文件缓存
/install安装程序
/source/ 程序模块功能处理目录
/discuz_version.php 程序版本号存放文件
/source/admincp 后台管理查看该目录文件标注
/source/archiver论坛Archiver静态化程序目录查看该目录文件标注
/source/include程序功能处理目录查看该目录文件标注
/source/language程序语言包(如不清楚,请打开各个文件查看)查看该目录文件标注
/source/module程序功能模块程序包查看该目录文件标注
/source/plugin插件程序扩展目录查看该目录文件标注
/source/functionDX自定义函数库查看该目录文件标注
/source/class核心类库查看该目录文件标注
/template模板目录查看该目录文件标注
/uc_client UCenter客户端
/uc_server UCenter服务端
/static程序界面元素附件存放目录
根目录文件
admin.php后台入口文件
api.php合作API输出
archiver论坛Archiver阅读模式(无图版)
connect.php云平台接口文件
cp.php多应用服务入口文件(加载userapp.php)
crossdomain.xml
favicon.ico站点ICO图标
forum.php论坛频道入口文件
group.php群组频道入口文件
home.php家园频道入口文件
index.php首页
member.php用户入口文件(登录、注册、退出等)
misc.php程序杂项扩展入口
plugin.php插件入口文件
portal.php门户入口文件
robots.txt搜索引擎限制文件
search.php搜索频道入口
userapp.php多应用服务入口文件

 2.代码流程结构分析

   首先nginx里要配置首页 和每个版块写的路由

  首页默认路由到    index.php

  搜索页面路由到    search.php

  个人中心路由到    home.php

  论坛后台路由到    admin.php

  版块页面路由到    forum.php

这些文件里面都有require_once './source/class/class_core.php';该文件是对conf下的配置文件的调用,连接数据库、检查登录状态、获取登录人的信息、获取discuz的缓存数据表数据等等,下面这些代码就是一个初始化的过程:(具体里面的操作感兴趣自己去一探究竟吧)

C::app()->cachelist = $cachelist;

C::app()->init();

loadforum();

set_rssauth();

runhooks();

入口函数做了初始化之后还会根据url参数将任务分发出去,

拿forum.php为例,根据mod参数  加载require DISCUZ_ROOT.'./source/module/forum/forum_'.$mod.'.php';

 

forum.php (初始化)  ---->           source (处理)     ------>      template (页面展示)

 

相当于  mvc层逻辑

 

  

  =============但是discuz最核心的处理模块在source目录下面==========================

 

source的代码结构见下面附件图片1 

 

  source

 

 1.source/class 数据库表操作     

 

C::t('forum_forum')->fetch($_G['fid']);改功能是数据库操作,相当于获取板块信息  具体数据库代码在source/class/table/table_forum_forum.php下面的fetch函数或者父类里面

 

2.source/include 程序功能处理目录

 

该模块根据功能进行划分

 

加载形式例如:require_once libfile('post/newthread', 'include');

 

该模块负责处理发帖任务

3.source/function 自定义函数库

 

该模块具有全局性,不属于某一个专用模块

 

加载形式例如:include template('diy:forum/viewthread'.$sufix.':'.$_G['fid']);

 

 

当所有功能处理完要加载html页面时会执行上面这句话,template函数在function_core.php里,根据参数判断要加载页面信息。

 

4.source/language程序语言包

 

function_core.php 下lang()函数根据传过来的参数找到对应的值

 

 

5.source/plugin插件程序扩展目录

 

api的请求,每次金币等等后期discuz或者其他人写的代码都可以以插件形式放在这里

 

Discuz后台工作原理

 

admin.php :是后台管理的入口文件, 主要做了两件事,分别是:初始化、主处理

根据参数action 分发任务

1.如果action 不存在 调用$admincp->show_admincp_main();

跳转到了require './source/admincp/admincp_main.php';

 

  2.如果action存在, return './source/admincp/admincp_'.$action.'.php';

 

*$action为空:admincp_main.php    :获取菜单  进行展示

 

 

 

 

<!--[if ppt]-->*<!--[endif]-->
<!--[if ppt]-->*<!--[endif]-->

 

*$action 不是空:admincp_'.$action.'.php,根据$operation判断你要进行什么操作,进入对应的页面
 
 

 

 

 

 

 

 

 

 

 

                   

  • 大小: 33.3 KB
分享到:
评论

相关推荐

    discuz使用说明书

    discuz使用说明,全面介绍了的discuz的使用功能,大家可以轻易使用discuz

    DISCUZ边框登陆窗口插件!

    3. **MySQL数据库**:Discuz使用MySQL存储数据,插件可能需要对数据库进行读写操作。 4. **Discuz API**:理解和使用Discuz提供的API,以便正确地与核心系统进行交互。 5. **XML配置文件**:Discuz插件通常包含XML...

    Discuz二次开发的手册(很全)

    4. **模板语言与样式修改**:Discuz使用了特有的模板语言,手册会介绍如何编写和修改模板文件,以改变界面布局和样式。此外,也会讲解CSS和JavaScript在Discuz中的应用,让你能够定制出符合网站风格的界面。 5. **...

    discuz论坛面向过程化开发

    7. **缓存技术**:为了提高性能,Discuz使用了缓存技术,如文件缓存或内存缓存(如APC、Memcached或Redis),减少对数据库的直接访问,提升论坛的响应速度。 8. **插件与模块化**:Discuz支持插件系统,允许开发者...

    tp3.2和discuz同步登陆代码

    这种集成可以为用户提供便捷的体验,特别是对于那些同时使用这两个平台的网站。 ThinkPHP 3.2是基于PHP的一套轻量级、高效的MVC(模型-视图-控制器)框架,它简化了Web应用程序的开发过程,提供了丰富的功能和强大...

    discuz加密解密函数 java版

    "Authcode"是Discuz使用的一种加密算法,它通常用于对用户密码、敏感数据等进行加密,确保数据在存储和传输过程中的安全性。Authcode3可能代表了这个算法的一个版本或变种。这个类可能包含了加密和解密的方法,如`...

    Discuz!NT用户使用手册

    NT用户使用手册》是一份专为Discuz!NT系统用户设计的详尽指南,旨在帮助用户更好地理解和操作这一强大的社区论坛软件。Discuz!NT是基于.NET平台开发的一款开源社区软件,它提供了丰富的功能和高度的可定制性,被广泛...

    DISCUZ 源码分析

    为了提高性能,DISCUZ 使用了缓存技术来减少对数据库的依赖。通过分析`source/cache`目录下的代码,我们可以学习如何使用缓存来提升大型社区论坛的响应速度。 9. **上传功能** `upload` 文件夹可能包含了处理用户...

    discuz的论坛home页

    1. **模板系统**:Discuz使用自定义模板系统,允许管理员或开发者根据需求调整界面样式。了解HTML、CSS和JavaScript基础,可以有效地修改页面布局和视觉效果,以满足个性化需求。 2. **模块化设计**:首页通常由多...

    Discuz二次开发手册.pdf

    Discuz 使用 MySQL 数据库存储论坛的数据。数据库的配置信息存储在 config.inc.php 文件中。 Discuz 提供了 db.inc.php 文件,用于备份、导入、导出和优化数据库。 四、Discuz 模板系统 Discuz 使用模板系统来生成...

    discuz乱码问题

    标题 "Discuz 乱码问题" 指的是在使用 Discuz 论坛系统时遇到的一种常见技术难题,即页面显示出现乱码,这可能是字符编码不匹配、配置错误或缓存问题导致的。Discuz 是一款基于 PHP 和 MySQL 的开源社区论坛软件,...

    零起步教你搭建DISCUZ!论坛

    discuz 搭建论坛 apache mysql php 有需要这些工具的 留言给我

    discuz论坛开源

    Discuz! 论坛开源是基于PHP和MySQL数据库构建的一款高度可定制的社区论坛软件。它的开源特性使得用户可以根据自己的需求进行二次开发,打造出独具特色的网络社区。在互联网上,Discuz! 论坛因其易用性、稳定性和丰富...

    Discuz模板制作手册.pdf

    Discuz使用特定的标签来处理数据,例如“$_G['member']”包含了用户的信息,如用户的ID、用户名、密码(MD5加密)、状态、头像状态等。这些标签可以嵌入到HTML模板中,从而实现动态内容的展示。 在CSS文件中,可以...

    新手小白快速入门discuz论坛安装使用教程,discuz模板安装教程,discuz模板制作教程

    discuz是目前比较流行的论坛开源系统,希望您通过本教程的学习,能学会discuz常用方法和技巧。教程从discuz基础知识开始讲解一直到后期的案例实战,完全零基础学习,从初学者的角度探讨分析问题,循序渐进由易到难,...

    discuz用户登录机制及原理[收集].pdf

    Discuz 用户登录机制及原理 Discuz 是一个流行的开源论坛系统,它的用户登录机制是通过对用户的身份...Discuz 使用 MVP 架构模式来实现系统的业务逻辑和数据交互,并使用 YUI 框架来实现前端的 UI 组件和交互效果。

    Discuz7.2使用说明书

    《Discuz7.2使用说明书》是一份详细指导用户如何操作和管理Discuz7.2论坛系统的文档。Discuz!7.2是中国知名的社区软件,它提供了强大的论坛功能,包括用户管理、版块设置、帖子处理、插件安装等多个方面。这份手册是...

Global site tag (gtag.js) - Google Analytics