首页
站长论坛BBS
救助
投稿
discuz视频教程
discuz技术支持
版块
登录
快速注册

discuz x3的全局$_G变量的介绍

ARCHY 2015-6-14 [Discuz开发] 来自PC 复制链接
123433
discuz使用视频教程
31idc

马上注册,一起探讨正确快速的建站方法

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
discuz中有两种变量,一种是G变量,获取方式如下:$_G[xxx] ;一种是自定义变量,获取方式如下:$xxx

$_G变量是程序的全局变量,为了使得程序更加高效,减少不必要的数据获取,所以程序特将经常需要用到的变量统一,详情查看:Discuz! 全局变量 $_G 详解

放到$_G变量中,如用户登录信息、后台设置信息、服务器环境信息、客户端CooKies、数据缓存等都存放在G变量里面, 在制作模板的时候作者只需要将G变量打印出来即可获得需要的信息是否在G变量里面。Discuz-X开发者工具【debug】也可以查看当前页面$_G变量

$_G变量一般在"source/class/discuz/discuz_application.php"文件中,$this->var = & $_G;//$_G变量的引用又赋值给了discuz_application类的var变量 ,self::$_app = discuz_application::instance();//discuz_application类的实例化对象又赋值给了core类的$_app属性 ,C类又继承core类 ,所以可通过C::app()->var[xxx],获取$_G变量中的数据,注意:通过app()方法获取discuz_application类实例化对象,再通过实例化对象的var属性获取G变量中的数据 ,$_G变量的声明为全局变量:global $_G;

后台设置的信息大部分情况下也都在这个$_G变量中,前台模板文件;"template/default/forum/模板文件.htm" ,模板文件加载方法:以模板/template/default/home/testtpl.htm为例:
1、普通方法加载模板文件:template('home/testtpl'); 2、 DIY方法加载模板文件:template('diy:home/testtpl')。



上一篇:discuz x3 如何将头像和帖内等附件分离到远程服务器?
下一篇:class_core.php文件中核心基础类库中discuz_core类分析
UC955 发表于 2015-7-1 17:34:00 来自PC
这个可以看看
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

快速回复 返回顶部 返回列表