Example #1
0
 function __construct($configFile)
 {
     $this->filePath = $configFile;
     //测试此时Apc中缓存是否存在
     $this->cacheAdapter = \HuiLib\Cache\CacheBase::getFileDirectly();
     $cacheContent = $this->cacheAdapter->get($this->getCacheKey());
     //print_r($cacheContent);die();
     if ($cacheContent === FALSE) {
         //不存在
         //实际解析文件
         $this->parse();
     } elseif (empty($cacheContent['stamp']) || $cacheContent['stamp'] < filemtime($this->filePath)) {
         //解析错误或配置文件已更新
         $this->cacheAdapter->delete($this->getCacheKey());
         $this->parse();
     } else {
         $this->configFinal = $cacheContent['data'];
         $this->lastUpate = intval($cacheContent['stamp']);
         if ($cacheContent['section']) {
             //存在section标记
             if (isset($this->configFinal[APP_ENV])) {
                 $this->configEnv =& $this->configFinal[APP_ENV];
             } else {
                 $this->configEnv = array();
             }
         } else {
             $this->configEnv =& $this->configFinal;
         }
     }
 }