2018年1月28日

DISCUZ 之论坛首页加载过程,FORUM相关(转帖)

摘要: 可能有理解不透彻的地方,欢迎回帖拍砖,会多加改进 1、加载class_core.php可查看全局数据初始化的另外一个笔记 2、功能模块中哦跟你的mod对应了source/forum中指定的文件。缓存模块根据当前所处的功能模块,加载必需的缓存内容,默认的缓存内容一般会在操作完指定模块之后存放在用二进制 阅读全文

posted @ 2018-01-28 23:47 alleyonine 阅读(389) 评论(0) 推荐(0) 编辑

Discuz X3.2源码解析discuz_application实例化(转)

摘要: class_core.php,主要实现了以下功能: 注册 autoload 方法和异常处理方法 C::t 方法的实现:通过 C::t 方法来调用数据层对应表的对象来实现对数据的操作 memory 的初始化:主要由 discuz_memory 类来实现 创建 discuz_application 实例 阅读全文

posted @ 2018-01-28 16:58 alleyonine 阅读(914) 评论(0) 推荐(0) 编辑

DISCUZ源码分析流程详细介绍【admin.php入口】

摘要: 打开admin.php define('IN_ADMINCP', TRUE); //定义常量IN_ADMINCP为true 这样在后面的每个页面都会判断 if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) { exit('Access Denied 阅读全文

posted @ 2018-01-28 16:56 alleyonine 阅读(869) 评论(0) 推荐(0) 编辑

Discuz3.2源码解析 首页(index.php)

摘要: 根目录下index.php 是整个系统的默认首页,以此文件入手,跟整个系统的运行流程是一致了,也方便分析整个系统的处理流程。 index.php的前几行代码(如下图),可以看出,先判断是url中是否有请求的字符串。如果有且是数字则是把当前模块默认为用户空间页面,请求的字符串为uid。 既然如此,我们 阅读全文

posted @ 2018-01-28 16:34 alleyonine 阅读(841) 评论(0) 推荐(0) 编辑

对discuz的代码分析学习----mysql驱动(转帖)

摘要: 一. 属性分析 1.tablepre :表名称前缀 2.version : 数据库版本 3.drivertype:驱动类型 4.querynum:查询数 5.curlink:当前连接 6.link:存储连接资源 7.config:配置项 8.sqldebug:sql调试 9.slaveid:不知道 阅读全文

posted @ 2018-01-28 16:32 alleyonine 阅读(184) 评论(0) 推荐(0) 编辑

对discuz的代码分析学习----论坛入口文件(转帖)

摘要: 只是大致分析下执行流程,主要就是取得mod参数的值,根据取值加载控制器,控制器位置在最后一行指定了。 1 )定义应用名称,加载两个必要文件 2 )modarray数组限定了mod取值范围 3 )如果mod参数为空或者不合法都会让表达式为真,导致值为index 4 )做初始化 5 )加载控制器 阅读全文

posted @ 2018-01-28 16:30 alleyonine 阅读(282) 评论(0) 推荐(0) 编辑

读discuzx3.1 数据库层笔记(转帖)

摘要: 最近开始在看discuzx3.1的代码,看到数据库层的实现,discuzx的数据库层能够支撑数据库分库,分布式部署,主要水平分表,也可以很方便的支持其他数据库。性能上,可以做读写分离,支持数据缓存。可以说,是一个很完善的数据库层的解决方案了。 数据库层分为三层,业务逻辑层封装,抽象层,和驱动层。如图 阅读全文

posted @ 2018-01-28 16:28 alleyonine 阅读(194) 评论(0) 推荐(0) 编辑

对discuz的代码分析学习————首页文件(转自陈)

摘要: 对discuz的代码分析学习首页文件 如果当前地址栏存在查询字符,并且是一个数字,条件成立。 查询字符:www.baidu.com/index.php?aaa=bbb aaa=bbb就是查询字符如果条件成立,则把home赋值给$_ENV['curapp'] ; $_ENV可以理解为类似于$_GET的 阅读全文

posted @ 2018-01-28 16:26 alleyonine 阅读(304) 评论(0) 推荐(0) 编辑

详解 $_SERVER 函数中QUERY_STRING和REQUEST_URI区别

摘要: 实例:1,http://localhost/aaa/ (打开aaa中的index.php)结果:$_SERVER['QUERY_STRING'] = "";$_SERVER['REQUEST_URI'] = "/aaa/";$_SERVER['SCRIPT_NAME'] = "/aaa/index. 阅读全文

posted @ 2018-01-28 16:19 alleyonine 阅读(156) 评论(0) 推荐(0) 编辑

discuz入口文件index.php的思想分析

摘要: 入口文件index.php分析: 整个文件就是对域名的判断 相关设置在后台-》全局-》域名设置中 相关文件保存在/data/cache/cache_domain.php中 //$_SERVER['QUERY_STRING']获取url中参数部分(也就是问号后面的字符) 当url参数不为空并且参数是数 阅读全文

posted @ 2018-01-28 16:16 alleyonine 阅读(1005) 评论(0) 推荐(0) 编辑

Discuz X3.2源码解析 $_G变量

摘要: $_G定义在discuz_application::_init_env()函数中。是一个array对象。 $_G里面保存了许多预处理信息,缓存了很多配置,可以提供Discuz的性能。 $_G定义在discuz_application::_init_env()函数中。是一个array对象。 $_G里面 阅读全文

posted @ 2018-01-28 16:08 alleyonine 阅读(299) 评论(0) 推荐(0) 编辑

Discuz X3.2源码解析 论坛模块(forum.php)转自百度

摘要: 论坛的主页面为forum.php,论坛的各个功能都以此为入口,然后请求参数mod指定子模块。 forum.php 的代码并不多,结构简单。里面引用了两个文件./source/class/class_core.php 和 ./source/function/function_forum.php。 cl 阅读全文

posted @ 2018-01-28 00:13 alleyonine 阅读(1201) 评论(0) 推荐(0) 编辑

Discuz X3.2源码解析 discuz_application类(转自百度)

摘要: discuz_application在/source/class/discuz/discuz_application.php中。 discuz_application在/source/class/discuz/discuz_application.php中。 discuz_application继承 阅读全文

posted @ 2018-01-28 00:12 alleyonine 阅读(2184) 评论(0) 推荐(0) 编辑

discuz代码解析(初始化应用的过程)

摘要: 流程结构(随便找个地址来分析下,比如 设置 -> 个人资料 -> 联系方式;地址是:home.php?mod=spacecp&ac=profile&op=contact) (一)首先打开home.php文件 看到第17行 1 require_once './source/class/class_co 阅读全文

posted @ 2018-01-28 00:07 alleyonine 阅读(1522) 评论(0) 推荐(0) 编辑

导航