【thinkphp3.x】ThinkPHP/ThinkPHP.php文件分析

本文详细解读ThinkPHP的入口文件,包括运行时参数设置、内存管理、项目路径定义及初始化过程,以及如何实现调试模式下的运行时缓存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2012 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------

// ThinkPHP 入口文件
//记录开始运行时间
$GLOBALS['_beginTime'] = microtime(TRUE);
// 记录内存初始使用
define('MEMORY_LIMIT_ON',function_exists('memory_get_usage'));//返回分配给php的内存,返回的结果为内存占用的字节数
if(MEMORY_LIMIT_ON) $GLOBALS['_startUseMems'] = memory_get_usage();
//项目的默认路径,一般情况下在单一入口文件中定义,如果在单一入口文件中没有定义项目路径,则会将其作为默认的项目路径
defined('APP_PATH') 	or define('APP_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/');
//运行时路径,即:项目路径下的Runtime目录
defined('RUNTIME_PATH') or define('RUNTIME_PATH',APP_PATH.'Runtime/');
//调试模式
//defined('APP_DEBUG') 	or define('APP_DEBUG',false); // 默认为false
defined('APP_DEBUG') 	or define('APP_DEBUG',true); // 是否调试模式
//运行时缓存文件的名称,只是文件名称
$runtime = defined('MODE_NAME')?'~'.strtolower(MODE_NAME).'_runtime.php':'~runtime.php';
//运行时缓存文件的路径,这个跟上面不同,这个是运行时缓存文件的路径
defined('RUNTIME_FILE') or define('RUNTIME_FILE',RUNTIME_PATH.$runtime);
//在调试模式未开启时,第一次运行时,RUNTIME_FILE还没有被生成,是不存在的,所以会执行else里面的程序,创建系统目录;等下次再运行的时候,直接加载RUNTIME_FILE即可
if(!APP_DEBUG && is_file(RUNTIME_FILE)) {
    // 部署模式直接载入运行缓存
    require RUNTIME_FILE;//在调试模式开启的情况下,此文件会被自动删除
}else{//在调试模式开启的情况下,执行else代码段
    // 系统或框架路径的定义
    defined('THINK_PATH') or define('THINK_PATH', dirname(__FILE__).'/');//d:/mall/tp/ThinkPHP/
    // 加载运行时文件
    require THINK_PATH.'Common/runtime.php';
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值