您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程
discuz代码分析首页文件
以亦2025-07-17Discuz教程已有人查阅
导读如果当前地址栏存在查询字符,并且是一个数字,条件成立。查询字符: .baidu.com/index.php?aaa=bbb aaa=bbb就是查询字符
如果当前地址栏存在查询字符,并且是一个数字,条件成立。查询字符: .baidu.com/index.php?aaa=bbb aaa=bbb就是查询字符
如果条件成立,则把home赋值给$_ENV['curapp'] ; $_ENV可以理解为类似于$_GET的超全局数组。这里的$_ENV['curapp']可以理解为选中的入口文件。
并将一个数组传递给$_GET,数组的第一个成员指定了控制器名称,第二个成员制定了一个叫uid的参数,就是用户id。
如果这里的条件成立了,127行的IF语句必定为false,下面一大堆代码都不用执行,一直跳到137行,直接就加载入口文件。
如果第一个IF语句为false
cache_domain.php是系统生成的配置文件。$domain数组是在cache_domain.php文件中声明的。
如果$_ENV['domain']为空,直接将当前选中的应用设置为forum(论坛) ,然后跳到137行。
如果 $_ENV['domain']不为空
25:将当前主机域名按.号拆分为数组。
27:将获取到的域名从第一个.号后一位的位置截取,一直截取到末尾。例如 .baidu.com -> 被截之后 -> baidu.com
28:如果['domain']['app']不为空,并且是数组,并且当前访问的域名也是其数组值的一项。则:
30:在app数组中找到值为当前域名的键,作为选中的应用。比如当前访问的域名为 .baidu.com而且在app数组中找到了这一项:
那么$_ENV['curapp']的值就为home。
如果当前选中的应用是mobile(手机) ,$_ENV['curapp']重置为forum
如果当前选中的应用是default或者当前选中的应用在默认应用数组中不存在,则把当前选中的应用赋值为空。
37:这个条件会在设置根域名,并且当前访问的也是这个根域名之后成立。
44:这一行的条件不知道什么情况下会成立。搞了好几遍list数组始终为空。下面的IF语句也不会执行,暂时不清楚list数组干嘛用的。
74:如果当前访问的域名是二级域名,并且这个二级域名不是保留域名,这个条件就会成立,checkholdmain函数用来检查是否是保留域名。
75:获取域名前缀
76:获取根域名
77:加载框架入口文件
这一串代码看得出来是初始化操作。这些都是discuz_application类的属性。
85:这行代码会通过table_common_domain类查询数据库,找到根域名绑定的应用类型。fetch_by_domain_domainroot如果应用类型为home如何如何,如果应用类型为group如何如何。
如果条件成立,则把home赋值给$_ENV['curapp'] ; $_ENV可以理解为类似于$_GET的超全局数组。这里的$_ENV['curapp']可以理解为选中的入口文件。
并将一个数组传递给$_GET,数组的第一个成员指定了控制器名称,第二个成员制定了一个叫uid的参数,就是用户id。
如果这里的条件成立了,127行的IF语句必定为false,下面一大堆代码都不用执行,一直跳到137行,直接就加载入口文件。
如果第一个IF语句为false
cache_domain.php是系统生成的配置文件。$domain数组是在cache_domain.php文件中声明的。
如果$_ENV['domain']为空,直接将当前选中的应用设置为forum(论坛) ,然后跳到137行。
如果 $_ENV['domain']不为空
25:将当前主机域名按.号拆分为数组。
27:将获取到的域名从第一个.号后一位的位置截取,一直截取到末尾。例如 .baidu.com -> 被截之后 -> baidu.com
28:如果['domain']['app']不为空,并且是数组,并且当前访问的域名也是其数组值的一项。则:
30:在app数组中找到值为当前域名的键,作为选中的应用。比如当前访问的域名为 .baidu.com而且在app数组中找到了这一项:
那么$_ENV['curapp']的值就为home。
如果当前选中的应用是mobile(手机) ,$_ENV['curapp']重置为forum
如果当前选中的应用是default或者当前选中的应用在默认应用数组中不存在,则把当前选中的应用赋值为空。
37:这个条件会在设置根域名,并且当前访问的也是这个根域名之后成立。
44:这一行的条件不知道什么情况下会成立。搞了好几遍list数组始终为空。下面的IF语句也不会执行,暂时不清楚list数组干嘛用的。
74:如果当前访问的域名是二级域名,并且这个二级域名不是保留域名,这个条件就会成立,checkholdmain函数用来检查是否是保留域名。
75:获取域名前缀
76:获取根域名
77:加载框架入口文件
这一串代码看得出来是初始化操作。这些都是discuz_application类的属性。
85:这行代码会通过table_common_domain类查询数据库,找到根域名绑定的应用类型。fetch_by_domain_domainroot如果应用类型为home如何如何,如果应用类型为group如何如何。
本文标签:
很赞哦! ()
相关教程
图文教程
discuz防止sql注入的方法
为了防止Discuz中的SQL注入攻击,应采取以下措施:使用预处理语句;转义用户输入;设置输入限制;使用安全函数;有效验证;保持软件更新;使用防火墙和入侵检测系统(IDS);教育用户。
discuz实现自动注册登录的方法
1.从原有系统进入论坛自动登录和注册2.实现弹框在本页面,不进行跳转3.js在页面加载时直接发起注册请求这个功能之前使用的uc_user_register这个函数来处理的,但是今天在开发用户空间时就会出现问题。
Discuz安装部署教程
说明:本文档用于帮助您全新安装完整的 Discuz! X 社区软件,适用于 Discuz! X2 系列版本(beta、RC、正式版)。一、下载 Discuz! X 官方版到本地或者服务器上
Discuz核心函数的解析
dz采用的是多入口的方式,在每个入口函数你能看到引用,启动核心类的语句(其余省略),如下:我们进入class_core.php看看,这是dz项目的启动类
相关源码
-
(自适应响应式)装修装潢设计公司网站源码下载本模板为装修设计企业打造,采用PbootCMS内核开发,整体设计突出空间美学与功能性结合。首页采用大图轮播展示工程案例,服务项目模块支持三维效果展示,呈现装修设计企业的专业形象与技术实力。查看源码 -
(自适应)html5宽屏电线电缆材料加工制造类企业网站源码下载本模板基于PbootCMS系统开发,特别适合电线电缆、电缆材料及相关加工制造类企业使用。采用HTML5宽屏设计,能够展示各类电缆产品的技术参数和规格详情,帮助客户全面了解产品特性。查看源码 -
(PC+WAP)中英双语户外用品帐篷装备pbootcms网站模板下载这款基于PbootCMS开发的中英文双语模板专为户外装备行业设计,适配PC和移动设备。模板采用现代化设计风格,突出户外产品的功能性和实用性,帮助企业建立专业的国际化展示平台。查看源码 -
(自适应)酒店民宿客房旅馆pbootcms模板下载基于PbootCMS内核开发的酒店民宿行业专用网站模板,专注于为住宿服务企业提供专业高效的在线展示平台。该模板采用响应式设计结构,确保在不同终端设备上均能呈现优质浏览体验。查看源码 -
(自适应手机端)锁锁芯锁具网站pbootcms模板 智能防盗锁网站源码下载本模板基于PbootCMS系统开发,为智能锁具、防盗锁芯及相关安防产品企业设计。采用响应式布局技术,确保在手机、平板和电脑等不同设备上都能获得良好的浏览体验,数据实时同步更新。查看源码 -
自适应html5二极管LED灯具灯饰类企业网网站模板该PbootCMS内核开发的响应式模板专为LED照明、灯具制造类企业设计,通过HTML5技术实现手机与PC端自适应显示,确保跨设备访问体验一致。企业可快速替换图文内容适配其他工业领域查看源码
| 分享笔记 (共有 篇笔记) |