/** * 将项目及应用核心文件编译缓存 */ private static function compileAppFile() { $compileAppFile = CACHE_APP_PATH . '/APP_' . APP . '.php'; if (file_exists($compileAppFile) && !C("DEBUG")) { load_File($compileAppFile); return; } $appLibs = PATH_APP . '/libs'; if (C("DEBUG")) { $appFile = glob($appLibs . '/*'); if (!$appFile) { return; } foreach ($appFile as $v) { load_file($v); } } else { $appFile = glob($appLibs . '/*'); if (!$appFile) { return; } $compileAppCon = ''; $compileAppCon = php_merge($appFile); $data = "<?php if(!defined('PATH_HD')){exit;}" . $compileAppCon . " ?>"; file_put_contents($compileAppFile, $data); load_File($compileAppFile); } }
/** * 载入编译核心文件 */ private static function compileCoreFile() { $coreFile = PATH_HD . '/libs/boot/compileFiles.php'; //需要编译的文件 $files = (require $coreFile); //载入需要编译到boot.phps中的文件列表 foreach ($files as $v) { if (is_file($v)) { require $v; } } self::mkdirs(); //创建核心目录 if (!self::$compile) { if (is_file(self::$boot)) { unlink(self::$boot); } return; //是否编译核心文件 } $data = php_merge($files, 1); //合并且删除空格 $data = "<?php if(!defined('PATH_HD')){exit;}define('TEMP_DIR_EXISTS',1);" . $data . ' ?>'; file_put_contents(self::$boot, $data); //写入核心编译文件boot.php }