继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

源码解析ThinkPHP.php

潇潇雨雨
关注TA
已关注
手记 165
粉丝 25
获赞 128

<?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'));

//LIHUAN:定义常量MEMORY_LIMIT_ON,如果存在函数memory_get_usage,MEMORY_LIMIT_ON的值为1,否则为0;memory_get_usage()获取当前内存值

if(MEMORY_LIMIT_ON) $GLOBALS['_startUseMems'] = memory_get_usage();//LIHUAN:如果MEMORY_LIMIT_ON的值为1,获取:内存初始值$GLOBALS['_startUseMems']

// 系统目录定义

    

defined('THINK_PATH')     or define('THINK_PATH', dirname(__FILE__).'/');

defined('APP_PATH')     or define('APP_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/');//LIHUAN:设置当前的项目路径

defined('APP_DEBUG')     or define('APP_DEBUG',false); // 是否调试模式,LIHUAN:默认false

if(defined('ENGINE_NAME')) {//LIHUAN:检查是否定义了引擎扩展,如果定义了,则执行扩展引擎文件

    defined('ENGINE_PATH') or define('ENGINE_PATH',THINK_PATH.'Extend/Engine/');//LIHUAN:引擎扩展目录设置

    require ENGINE_PATH.strtolower(ENGINE_NAME).'.php';//导入引擎文件,ENGINE_NAME为文件名称,后缀为.php

}

else{

    defined('RUNTIME_PATH') or define('RUNTIME_PATH',APP_PATH.'Runtime/');//LIHUAN:设置runtime的路径

    $runtime = defined('MODE_NAME')?'~'.strtolower(MODE_NAME).'_runtime.php':'~runtime.php';//LIHUAN:定义缓存文件名,如果没有定义文件名,默认为~runtime.php

    defined('RUNTIME_FILE') or define('RUNTIME_FILE',RUNTIME_PATH.$runtime);//LIHUAN:定义文件存放地址(带文件名)

    if(!APP_DEBUG && is_file(RUNTIME_FILE)) {//LIHUAN:在未开启调试模式并且缓存文件存在的情况下,直接运行缓存文件

        // 部署模式直接载入运行缓存

        require RUNTIME_FILE;

    }else{

        // 加载运行时文件

        require THINK_PATH.'Common/runtime.php';

    } 

}

//LIHUAN:后面的内容为本人添加的注释,其他注释为原有内容,如有不当之处,欢迎批评指正

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP

热门评论

https://img4.mukewang.com/5c2ce0360001995310801920.jpg

查看全部评论