protected function checkCache($tmplTemplateFile)
 {
     if (!C('TMPL_CACHE_ON')) {
         // 优先对配置设定检测
         return false;
     }
     //[sae] 不加模版目录,简化模版名称
     $tmplCacheFile = md5($tmplTemplateFile) . C('TMPL_CACHFILE_SUFFIX');
     if (!SaeMC::file_exists($tmplCacheFile)) {
         return false;
         //}elseif (filemtime($tmplTemplateFile) > filemtime($tmplCacheFile)) {
     } elseif (filemtime($tmplTemplateFile) > SaeMC::filemtime($tmplCacheFile)) {
         // 模板文件如果有更新则缓存需要更新
         return false;
     } elseif (C('TMPL_CACHE_TIME') != 0 && time() > SaeMC::filemtime($tmplCacheFile) + C('TMPL_CACHE_TIME')) {
         // 缓存是否在有效期
         return false;
     }
     // 开启布局模板
     if (C('LAYOUT_ON')) {
         $layoutFile = THEME_PATH . C('LAYOUT_NAME') . C('TMPL_TEMPLATE_SUFFIX');
         if (filemtime($layoutFile) > SaeMC::filemtime($tmplCacheFile)) {
             return false;
         }
     }
     // 缓存有效
     return true;
 }
Beispiel #2
0
function load_runtime_file()
{
    //[sae] 加载系统基础函数库
    require SAE_PATH . 'Common/common.php';
    //[sae] 读取核心编译文件列表
    $list = array(SAE_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);
        }
    }
    //[sae] 加载系统类库别名定义
    alias_import(include SAE_PATH . 'Conf/alias.php');
    //[sae]在sae下不对目录结构进行检查
    if (APP_DEBUG) {
        //[sae] 调试模式切换删除编译缓存
        if (!SAE_RUNTIME && SaeMC::file_exists(RUNTIME_FILE)) {
            SaeMC::unlink(RUNTIME_FILE);
        }
    }
}
Beispiel #3
0
    defined('SAE_RUNTIME') or define('SAE_RUNTIME', false);
    require SAE_PATH . 'Lib/Core/SaeMC.class.php';
    //记录开始运行时间
    $GLOBALS['_beginTime'] = microtime(TRUE);
    // 记录内存初始使用
    define('MEMORY_LIMIT_ON', function_exists('memory_get_usage'));
    if (MEMORY_LIMIT_ON) {
        $GLOBALS['_startUseMems'] = memory_get_usage();
    }
    defined('APP_PATH') or define('APP_PATH', dirname($_SERVER['SCRIPT_FILENAME']) . '/');
    //[sae] 判断是否手动建立项目目录
    if (!is_dir(APP_PATH . '/Lib/')) {
        header('Content-Type:text/html; charset=utf-8');
        exit('<div style=\'font-weight:bold;float:left;width:430px;text-align:center;border:1px solid silver;background:#E8EFFF;padding:8px;color:red;font-size:14px;font-family:Tahoma\'>sae环境下请手动生成项目目录~</div>');
    }
    defined('RUNTIME_PATH') or define('RUNTIME_PATH', APP_PATH . 'Runtime/');
    defined('APP_DEBUG') or define('APP_DEBUG', false);
    // 是否调试模式
    $runtime = defined('MODE_NAME') ? '~' . strtolower(MODE_NAME) . '_sae_runtime.php' : '~sae_runtime.php';
    defined('RUNTIME_FILE') or define('RUNTIME_FILE', RUNTIME_PATH . $runtime);
    //[sae] 载入核心编译缓存
    if (!APP_DEBUG && SaeMC::file_exists(RUNTIME_FILE)) {
        // 部署模式直接载入allinone缓存
        SaeMC::include_file(RUNTIME_FILE);
    } else {
        // ThinkPHP系统目录定义
        defined('THINK_PATH') or define('THINK_PATH', dirname(dirname(dirname(__FILE__))) . '/');
        //[sae] 加载运行时文件
        require SAE_PATH . 'Common/runtime.php';
    }
}
 /**
  * 检查缓存内容是否有效
  * 如果无效则需要重新编译
  * @access public
  * @param string $tmplContent  模板内容
  * @return boolen
  */
 protected function checkContentCache($tmplContent, $prefix = '')
 {
     return SaeMC::file_exists(C('CACHE_PATH') . $prefix . md5($tmplContent) . C('TMPL_CACHFILE_SUFFIX'));
 }