您的位置:首页 > 编程语言 > PHP开发

系统初始化文件initsystem.php解析

2013-04-26 17:54 351 查看
initsystem.php是zen cart系统初始化的控制文件,他主要就是引入auto_loaders目录下面的文件,这个目录下面的文件都是在系统初始化的时候需要初始化的文件或者类和对象。 
代码很简单,就是循环遍历auto_loaders目录下面的文件,其中变量$loader_file在includes\application_top.php文件中定义 
 
if (isset($loaderPrefix)) { 
$loaderPrefix = preg_replace('/[a-z_]^/', '', $loaderPrefix); 
} else { 
  $loaderPrefix = 'config'; 

$loader_file = $loaderPrefix . '.core.php'; 
下面就是循环变量auto_loaders目录的代码,也就是initsystem.php文件的核心处理代码 
 
$base_dir = DIR_WS_INCLUDES . 'auto_loaders/'; 
if (file_exists(DIR_WS_INCLUDES . 'auto_loaders/overrides/' . $loader_file)) { 
  $base_dir = DIR_WS_INCLUDES . 'auto_loaders/overrides/'; 

/** 
* load the default application_top autoloader file. 
*/ 
include($base_dir . $loader_file); 
if ($loader_dir = dir(DIR_WS_INCLUDES . 'auto_loaders')) { 
  while ($loader_file = $loader_dir->read()) { 
    $matchPattern = '/^' . $loaderPrefix . '\./'; 
    if ((preg_match($matchPattern, $loader_file) > 0) && (preg_match('/\.php$/', $loader_file) > 0)) { 
      if ($loader_file != $loaderPrefix . '.core.php') { 
        $base_dir = DIR_WS_INCLUDES . 'auto_loaders/'; 
        if (file_exists(DIR_WS_INCLUDES . 'auto_loaders/overrides/' . $loader_file)) { 
          $base_dir = DIR_WS_INCLUDES . 'auto_loaders/overrides/'; 
        } 
        /** 
         * load the application_top autoloader files. 
         */ 
        include($base_dir . $loader_file); 
      } 
    } 
  } 
  $loader_dir->close(); 
}

转载http://www.zencart-bbs.com/read-htm-tid-4100.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zen cart
相关文章推荐