protected function checkCache($tmplTemplateFile, $prefix = '')
 {
     if (!C('TMPL_CACHE_ON')) {
         // 优先对配置设定检测
         return false;
     }
     $tmplCacheFile = C('CACHE_PATH') . $prefix . md5($tmplTemplateFile) . C('TMPL_CACHFILE_SUFFIX');
     if (!ThinkFS::file_exists($tmplCacheFile)) {
         return false;
     } elseif (filemtime($tmplTemplateFile) > ThinkFS::filemtime($tmplCacheFile)) {
         // 模板文件如果有更新则缓存需要更新
         ThinkFS::unlink($tmplCacheFile);
         return false;
     } elseif (C('TMPL_CACHE_TIME') != 0 && time() > ThinkFS::filemtime($tmplCacheFile) + C('TMPL_CACHE_TIME')) {
         // 缓存是否在有效期
         ThinkFS::unlink($tmplCacheFile);
         return false;
     }
     // 开启布局模板
     if (C('LAYOUT_ON')) {
         $layoutFile = THEME_PATH . C('LAYOUT_NAME') . C('TMPL_TEMPLATE_SUFFIX');
         if (filemtime($layoutFile) > ThinkFS::filemtime($tmplCacheFile)) {
             ThinkFS::unlink($tmplCacheFile);
             return false;
         }
     }
     // 缓存有效
     return true;
 }
Beispiel #2
0
function load_runtime_file()
{
    // 加载系统基础函数库
    require THINK_PATH . 'Common/common.php';
    // 读取核心文件列表
    $list = array(CLUSTER_PATH . 'Lib/Core/Think.class.php', CORE_PATH . 'Core/ThinkException.class.php', CORE_PATH . 'Core/Behavior.class.php');
    // 加载模式文件列表
    foreach ($list as $key => $file) {
        if (is_file($file)) {
            require_cache($file);
        }
    }
    // 加载系统类库别名定义
    //[cluster] 加载cluster的别名文件
    alias_import(include CLUSTER_PATH . 'Conf/alias.php');
    //[cluster] 调试模式下,删除核心缓存
    if (APP_DEBUG && ThinkFS::file_exists(RUNTIME_FILE)) {
        ThinkFS::unlink(RUNTIME_FILE);
    }
}