Example #1
0
 /**
  * @see   ICache::set();
  * @param string $key
  * @param string $content
  * @param null $expire
  * @return int
  */
 public function set($key, $content, $expire = null)
 {
     $cacheFile = $this->getCacheFile($key, $this->cacheExt);
     $dirname = dirname($cacheFile);
     if (!file_exists($dirname)) {
         FileUtils::makeFileDirs($dirname);
     }
     return file_put_contents($cacheFile, $content, LOCK_EX);
 }
 /**
  * @see	\herosphp\session\interfaces\ISession::open().
  */
 public static function open($savePath, $sessionName)
 {
     if (!self::$sessionSavePath) {
         self::$sessionSavePath = $savePath;
         //创建session目录
         if (!file_exists(self::$sessionSavePath)) {
             FileUtils::makeFileDirs(self::$sessionSavePath);
         }
     }
     //do nothing here
     return TRUE;
 }
 /**
  * 编译模板
  * @param 		string 		$tempFile 	 	模板文件路径
  * @param		string		$compileFile	编译文件路径
  */
 private function complieTemplate($tempFile, $compileFile)
 {
     //根据缓存情况编译模板
     if (!file_exists($compileFile) || $this->cache == 1 && filemtime($compileFile) < filemtime($tempFile) || $this->cache == 0) {
         //获取模板文件
         $content = @file_get_contents($tempFile);
         if ($content == FALSE) {
             if (APP_DEBUG) {
                 E("加载模板文件 {" . $tempFile . "} 失败!请在相应的目录建立模板文件。");
             }
         }
         //替换模板
         $content = preg_replace(array_keys(self::$tempRules), self::$tempRules, $content);
         //生成编译目录
         if (!file_exists(dirname($compileFile))) {
             FileUtils::makeFileDirs(dirname($compileFile));
         }
         //生成php文件
         if (!file_put_contents($compileFile, $content, LOCK_EX)) {
             if (APP_DEBUG) {
                 E("生成编译文件 {$compileFile} 失败。");
             }
         }
     }
 }