你现在的位置:首页 > PHP网站建设知识库 > ecmall > 正文

ecmall核心对象解读

1:cache_server缓存对象,在ecmall/includes/global.lib.php声明, 用于记录 数据库的缓存用到的。

2:conf 配置项类,直接以conf::get获取配置项的值,配置项的全局变量$GLOBALS['ECMALL_CONFIG'],全局变量值通过Conf::load载入配置文件。

     来说说配置文件里面值这么载入进来的:

    比如在ecapp.base.php文件有这样两行代码:

      /* 载入配置项 */
            $setting =& af('settings');
            Conf::load($setting->getAll());

       af是定义在global.lib.php里面,看这个函数里面的代码就应该知道,包括了两个文件

         includes/arrayfile.base.php以及 includes/arrayfiles/' . $type . '.arrayfile.php ,这个$type在这里就是setting了,也就是arrayfiles/setting.arrayfile.php,这两个文件里面的类是父子关系。

      子类的get_default函数 就是具体的 变量值。父类的getAll就是用来取这些变量的值。

    最后通过conf::load把这些变量值放入全局变量中,也就是 $GLOBALS['ECMALL_CONFIG'] = $conf;这个。

  

 

3:upload同级的integrate文件只在链接UC才用到。


4:前端基类frontend.base.php和后端基类backend.base.php


5:eccore文件夹,ecmall的核心文件所在。包括controller,model,view以及一个核心文件ecmall.php。来说说显示视图的流程:

          app.base.php下面的display函数 =>_init_view函数   $this->_view =& v(); 这行代码,$v是view文件下template.php模板类。跟踪到模板类的display函数,

          $out = $this->fetch($filename, $cache_id);这行代码即是输出模板,看fetch函数里面filename变量这么获取的,在前端基类frontend.base.php$this->_view->template_dir = ROOT_PATH . "/themes/store/{$template_name}";里面。