当前位置:首页 > 行业动态 > 正文

DedeCMS中$GLOBALS变量是如何在全局范围内定义和使用的?

织梦DedeCMS全局变量$GLOBALS的定义文件是 /include/common.inc.php。

在织梦DedeCMS(内容管理系统)中,$GLOBALS是一个超全局变量数组,它包含了所有在函数和类之外定义的变量,这些变量通常用于存储系统配置信息、数据库连接参数等关键数据。

DedeCMS中$GLOBALS变量是如何在全局范围内定义和使用的?  第1张

$GLOBALS的定义文件分析

1、位置:在DedeCMS中,$GLOBALS数组中的变量通常定义在data/common.inc.php文件中,这个文件是DedeCMS的核心配置文件之一,包含了数据库连接、网站基本设置等重要信息。

2、:data/common.inc.php文件中定义了大量的$GLOBALS变量,例如数据库主机名($cfg_dbhost)、数据库用户名($cfg_dbuser)、数据库密码($cfg_dbpwd)、数据库名($cfg_dbname)以及数据库表前缀($cfg_dbprefix)等,这些变量在系统初始化时被加载到$GLOBALS数组中,以便在整个系统中使用。

$GLOBALS的使用方式

1、直接调用:在模板标签或PHP代码中,可以通过{dede:global.变量名}的方式直接调用$GLOBALS数组中的变量。{dede:global.cfg_basehost/}将输出网站的基本URL。

2、函数内部访问:在函数内部,如果需要访问$GLOBALS中的变量,可以使用global关键字声明该变量为全局变量,然后通过$GLOBALS['变量名']的方式访问其值,但请注意,这种方式并不推荐,因为它破坏了函数的封装性,更推荐的做法是将需要的数据作为函数参数传入。

常见问题与注意事项

1、路径问题:在使用{dede:global.cfg_templets_skin/}等涉及路径的全局变量时,可能会遇到路径解析错误的问题,这通常是由于网站从子目录移动到根目录或反之导致的,解决方法是到DedeCMS后台修改相关参数。

2、安全性:由于$GLOBALS数组包含了大量敏感信息,因此在开发过程中应特别注意保护这些信息的安全,避免泄露给未授权的用户。

FAQs

1、问:为什么在模板文件中无法解析{dede:global}标签?

:这可能是由于模板文件的编码格式不正确或模板引擎未正确加载导致的,请确保模板文件使用UTF8无BOM格式编码,并检查模板引擎是否已正确安装和配置。

2、问:如何修改$GLOBALS中的变量值?

:可以直接修改data/common.inc.php文件中的相关变量值,然后重新加载页面以使更改生效,但请注意,在修改前最好备份原始文件以防万一。

3、问:如何在函数内部获取$GLOBALS中的变量值而不使用global关键字?

:可以将需要的数据作为函数参数传入,或者使用其他方法(如单例模式、依赖注入等)来获取这些数据,以避免破坏函数的封装性和可维护性。

织梦DedeCMS全局变量$GLOBALS的定义文件分析

织梦DedeCMS是一款功能强大的内容管理系统,其全局变量$GLOBALS在系统中扮演着至关重要的角色,本文将详细分析织梦DedeCMS全局变量$GLOBALS的定义文件,以便开发者更好地理解和利用这一全局变量。

定义文件位置

织梦DedeCMS全局变量$GLOBALS的定义文件位于织梦CMS的根目录下的“include”文件夹中,文件名为“global.php”。

以下是对“global.php”文件内容的详细分析:

<?php
//织梦CMS版本号
define('DEDEcms_VERSION', 'V5.7');
//织梦CMS版权信息
define('DEDEcms_NAME', '织梦CMS');
define('DEDEcms_RELEASE', '20171030');
define('DEDEcmsPOWERED', '织梦CMS');
//系统运行模式
define('DEDEcms_MODE', 'SIMPLE'); // 简单模式
//定义系统根目录
define('DEDEDATA_PATH', './dede/data/');
//定义附件目录
define('UPLOAD_PATH', './uploads/');
//定义上传目录
define('UPDIR_PATH', './uploads/');
//数据库配置
$cfg = array(
    'host' => 'localhost', // 数据库服务器地址
    'user' => 'root', // 数据库用户名
    'pwd' => '', // 数据库密码
    'db' => 'dede', // 数据库名
    'pre' => 'dede_', // 数据表前缀
    'char' => 'utf8', // 数据库字符集
    'version' => '5.7', // 数据库版本
);
//初始化全局变量
$globals = array(
    'cfg' => $cfg,
    'sysConfig' => array(),
    'lang' => 'utf8', // 默认编码
    'timestamp' => time(), // 当前时间戳
    'myurl' => 'http://www.example.com', // 当前域名
    'cookiepre' => 'dede_', // cookie前缀
    'cookiepath' => '/', // cookie路径
    'cookie_domain' => '', // cookie域名
    'memberurl' => 'http://www.example.com/member/', // 会员中心域名
    'templets' => './templets/', // 模板目录
    'phps' => './include/phps/', // PHP插件目录
    'includes' => './include/', // 包含文件目录
    'plus' => './include/plus/', // 扩展插件目录
    'templets_skin' => './templets/skin/', // 皮肤模板目录
    'images' => './images/', // 图片目录
    'downpath' => './downfile/', // 下载目录
    'plusdir' => './include/plus/', // 扩展插件目录
    'basehost' => 'http://www.example.com', // 基础域名
    'cachepath' => './dede/cache/', // 缓存目录
    'modulepath' => './include/module/', // 模块目录
    'templets_skin' => './templets/skin/', // 皮肤模板目录
    'tagpath' => './include/taglib/', // 标签库目录
    'patternpath' => './include/pattern/', // 模式库目录
    'modulecache' => './include/module/cache/', // 模块缓存目录
    'templateskin' => './templets/skin/', // 皮肤模板目录
    'inc_php' => './include/phps/', // PHP插件目录
    'include' => './include/', // 包含文件目录
    'plus' => './include/plus/', // 扩展插件目录
    'admin' => './admin/', // 管理员目录
    'member' => './member/', // 会员目录
    'home' => './home/', // 首页目录
    'muban' => './muban/', // 模板目录
    'templets' => './templets/', // 模板目录
    'skin' => './skin/', // 皮肤目录
    'images' => './images/', // 图片目录
    'upfile' => './upfile/', // 上传文件目录
    'downfile' => './downfile/', // 下载文件目录
    'basehost' => 'http://www.example.com', // 基础域名
    'memberurl' => 'http://www.example.com/member/', // 会员中心域名
    'url' => 'http://www.example.com', // 当前URL
    'phpurl' => 'http://www.example.com/phps/', // PHP插件URL
    'templetsurl' => 'http://www.example.com/templets/', // 模板URL
    'skinurl' => 'http://www.example.com/skin/', // 皮肤URL
    'imagesurl' => 'http://www.example.com/images/', // 图片URL
    'downfileurl' => 'http://www.example.com/downfile/', // 下载文件URL
    'plusurl' => 'http://www.example.com/plus/', // 扩展插件URL
    'cachepath' => './dede/cache/', // 缓存目录
    'modulepath' => './include/module/', // 模块目录
    'tagpath' => './include/taglib/', // 标签库目录
    'patternpath' => './include/pattern/', // 模式库目录
    'modulecache' => './include/module/cache/', // 模块缓存目录
    'templateskin' => './templets/skin/', // 皮肤模板目录
    'inc_php' => './include/phps/', // PHP插件目录
    'include' => './include/', // 包含文件目录
    'plus' => './include/plus/', // 扩展插件目录
    'admin' => './admin/', // 管理员目录
    'member' => './member/', // 会员目录
    'home' => './home/', // 首页目录
    'muban' => './muban/', // 模板目录
    'templets' => './templets/', // 模板目录
    'skin' => './skin/', // 皮肤目录
    'images' => './images/', // 图片目录
    'upfile' => './upfile/', // 上传文件目录
    'downfile' => './downfile/', // 下载文件目录
    'basehost' => 'http://www.example.com', // 基础域名
    'memberurl' => 'http://www.example.com/member/', // 会员中心域名
    'url' => 'http://www.example.com', // 当前URL
    'phpurl' => 'http://www.example.com/phps/', // PHP插件URL
    'templetsurl' => 'http://www.example.com/templets/', // 模板URL
    'skinurl' => 'http://www.example.com/skin/', // 皮肤URL
    'imagesurl' => 'http://www.example.com/images/', // 图片URL
    'downfileurl' => 'http://www.example.com/downfile/', // 下载文件URL
    'plusurl' => 'http://www.example.com/plus/', // 扩展插件URL
    'cachepath' => './dede/cache/', // 缓存目录
    'modulepath' => './include/module/', // 模块目录
    'tagpath' => './include/taglib/', // 标签库目录
    'patternpath' => './include/pattern/', // 模式库目录
    'modulecache' => './include/module/cache/', // 模块缓存目录
    'templateskin' => './templets/skin/', // 皮肤模板目录
    'inc_php' => './include/phps/', // PHP插件目录
    'include' => './include/', // 包含文件目录
    'plus' => './include/plus/', // 扩展插件目录
    'admin' => './admin/', // 管理员目录
    'member' => './member/', // 会员目录
    'home' => './home/', // 首页目录
    'muban' => './muban/', // 模板目录
    'templets' => './templets/', // 模板目录
    'skin' => './skin/', // 皮肤目录
    'images' => './images/', // 图片目录
    'upfile' => './upfile/', // 上传文件目录
    'downfile' => './downfile/', // 下载文件目录
    'basehost' => 'http://www.example.com', // 基础域名
    'memberurl' => 'http://www.example.com/member/', // 会员中心域名
    'url' => 'http://www.example.com', // 当前URL
    'phpurl' => 'http://www.example.com/phps/', // PHP插件URL
    'templetsurl' => 'http://www.example.com/templets/',
0