您现在的位置是:首页 > 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公共样式
由于论坛开始,注册会员较少,且会员数是论坛敏感隐私数据,一般不要对外显示,因此需要删除注册会员数,步骤discuz根目录--》template--》default--》forum--》discuz.htm
discuz编辑器发布帖子显示html代码怎么办
在discuz二次开发中调用discuz的编辑器是一件在所难免的事情,然而discuz的开发文档少得可怜;因此在二次开发的时候查看源码和各种莫名其妙的问题着实令人mō不着头脑。
discuz模版学习教程
Discuz的模板采用近似PHP表达式的语法,支持的元素如下:逻辑元素包围符,该符号用于包含条件和循环元素第一次看到我还以为是注释的效果,后来才知道自己想得太天真了-_-!
安装Discuz论坛时提示“mysqli_connect()不支持advice_mysqli
安装Discuz!论坛时提示“不支持Mysql数据库,无法安装论坛”的解决方法1,在系统的 system32(C:\windows\system32)目录下缺少libmysql.dll文件,解决方法是找到php目录下的libmysql.dll
相关源码
-
(PC+WAP)蓝色低碳环保隔断板装修装饰类网站pbootcms源码下载本款基于PbootCMS开发的网站模板为活动隔断板、装修装饰行业打造,特别适合移动隔断、环保隔断、办公分区等产品的展示与推广。查看源码 -
(自适应响应式)教育培训机构集团网站pbootcms源码下载本模板基于PbootCMS系统开发,为教育培训机构设计,特别适合展示课程体系、师资团队和教学成果。采用响应式技术,确保在各类设备上都能提供良好的浏览体验。查看源码 -
帝国cms7.2淘宝客导购自媒体博客网站模板源码本模板基于帝国CMS7.2内核深度开发,为淘宝客、商品导购类自媒体及博客网站设计。通过可视化后台管理,可快速搭建具备商品推荐、比价功能的内容平台,帮助用户实现流量高效转化。查看源码 -
pbootcms源码宠物类网站源码下载(自适应多端)为宠物装备商店、宠物食品及用品企业打造的营销型模板,基于PbootCMS内核深度开发。采用响应式设计实现PC与移动端适配,PHP7.0+高性能架构支持MySQL/SQLite双数据库查看源码 -
(PC+WAP)蓝色电缆桥架五金钢结构机械PbootCMS模板下载采用PC与WAP双端适配设计,满足桌面设备和移动端访问需求。专注服务于电缆桥架、钢结构及五金机械制造领域,通过结构化布局展示产品特性与技术参数,后台数据一体化管理提升内容维护效率。查看源码 -
(自适应响应式)WORDwps办公资源教程资讯网站模板下载基于PbootCMS内核开发的响应式网站模板,为办公教程、WPS技巧分享、职场技能培训等场景打造。模板内置标准化文档分类体系,支持图文/视频教程混合展示,满足现代办公知识传播需求。查看源码
| 分享笔记 (共有 篇笔记) |
