ecmall中$GLOBALS['ECMALL_CONFIG']分析

2009-10-27 09:40 来源:www.chinab4c.com 作者:ecshop专家

   ecamll中有一个全局变量,它包含了所有的系统配置参数。它就是 $GLOBALS['ECMALL_CONFIG']全局变量。在eccore/ecmall.php中的Conf类中,有个load()函数,他负责将包含的配置文件中的数据,加载进来。

   那么ecmall中的$GLOBALS['ECMALL_CONFIG']全局变量,到底来自那里呢?在ecmall中的includes/ecapp.base.php中,他的构造函数中有以下代码。

   $setting =& af('settings');
   Conf::load($setting->getAll());

   他调用了Conf的load方法,而af()函数在includes/global.lib.php中。他的格式如下。

   function &af($type, $params = array())
{
    static $types = array();
    if (!isset($types[$type]))
    {
        /* 加载数据文件基础类 */
        include_once(ROOT_PATH . '/includes/arrayfile.base.php');
        include(ROOT_PATH . '/includes/arrayfiles/' . $type . '.arrayfile.php');
        $class_name = ucfirst($type) . 'Arrayfile';
        $types[$type]   =   new $class_name($params);
    }

    return $types[$type];
}

    可以看的出来,某些ecshop系统配置信息,就包含在includes/arrayfiles/setting.arrayfile.php中。get_default()函数负责返回该系统配置信息。在getAll()方法中,调用了get_default()。取得了所有的配置信息。从而返回了ecmall的 $GLOBALS['ECMALL_CONFIG']全局变量。

   相关文章:

  分析配置ecmall邮件服务器

   ecmall中系统参数是如何加载进来的

 来源:中国B4C电子商务