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

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

你可能感兴趣的:(zencart系统介绍)