PHP网站实例分析

<?php
if(version_compare(PHP_VERSION,'5.0.0','<') ) { //版本小于5.0.0
   die('ThinkPHP 1.* require_once PHP > 5.0 !'); //提示并终止
}
//记录开始运行时间 cit注释
$GLOBALS['_beginTime'] = microtime(TRUE);

//全局变量 TRUE表示秒与微秒相加

 

// ThinkPHP系统目录定义
if(!defined('THINK_PATH')) define('THINK_PATH', dirname(__FILE__));

//THINK_PATH的值是:d:\www_4000\Think_path

 

//dirname(dirname(__FILE__));得到的是文件上一层目录名
//dirname(__FILE__);得到的是文件所在层目录名

 

if(!defined('APP_NAME')) define('APP_NAME', md5(THINK_PATH));
//如果没有常量APP_NAME 将应用程序名加密 (cit中文网)

 

if(!defined('APP_PATH')) define('APP_PATH', dirname(THINK_PATH).'/'.APP_NAME);

if(!defined('RUNTIME_PATH')) define('RUNTIME_PATH',APP_PATH.'/Temp/');

//运行时路经

 

if(file_exists(RUNTIME_PATH.'~runtime.php')) {
   // 运行时路径中有此文件,加载框架核心缓存文件
   // 如果有修改核心文件请删除该缓存(cit.cn)
   require_once RUNTIME_PATH.'~runtime.php';
}else{
   // 加载系统定义文件
   require_once THINK_PATH."/Common/defines.php";
   // 系统函数库
   require_once THINK_PATH."/Common/functions.php";
   // 加载编译需要的函数文件
   require_once THINK_PATH."/Common/runtime.php";
   // 第一次运行检查项目目录结构 如果不存在则自动创建
   if(!file_exists(RUNTIME_PATH)) {
       // 创建项目目录结构
       buildAppDir();
   }

   //加载ThinkPHP基类
   import("Think.Core.Base");

   //加载异常处理类
   import("Think.Exception.ThinkException");

   // 加载日志类
   import("Think.Util.Log");

   //加载Think核心类
   import("Think.Core.App");

   import("Think.Core.Action");

   import("Think.Core.Model");

   import("Think.Core.View");

   // 是否生成核心缓存
   $cache =  ( !defined('CACHE_RUNTIME') || CACHE_RUNTIME == true );
   if($cache) {
       if(defined('STRIP_RUNTIME_SPACE') && STRIP_RUNTIME_SPACE == false ) {
           $fun   =  'file_get_contents';
       }else{
           $fun   =  'php_strip_whitespace';
       }
       // 生成核心文件的缓存 去掉文件空白以减少大小
       $content    =  $fun(THINK_PATH.'/Common/defines.php');
       $content   .=  $fun(THINK_PATH.'/Common/functions.php');
       $content   .=  $fun(THINK_PATH.'/Lib/Think/Core/Base.class.php');
       $content   .=  $fun(THINK_PATH.'/Lib/Think/Exception/ThinkException.class.php');
       $content   .=  $fun(THINK_PATH.'/Lib/Think/Util/Log.class.php');
       $content   .=  $fun(THINK_PATH.'/Lib/Think/Core/App.class.php');
       $content   .=  $fun(THINK_PATH.'/Lib/Think/Core/Action.class.php');
       $content   .=  $fun(THINK_PATH.'/Lib/Think/Core/Model.class.php');
       $content   .=  $fun(THINK_PATH.'/Lib/Think/Core/View.class.php');
   }
   if(version_compare(PHP_VERSION,'5.2.0','<') ) {
       // 加载兼容函数
       require_once THINK_PATH.'/Common/compat.php';
       if($cache) {
           $content .= $fun(THINK_PATH.'/Common/compat.php');
       }
   }
   if($cache) {
       file_put_contents(RUNTIME_PATH.'~runtime.php',$content);//将字符串写入文件
       unset($content);//销毁$content
   }
}
// 记录加载文件时间
$GLOBALS['_loadTime'] = microtime(TRUE);
?>

 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Grow your business fast with

Suku