第一篇

1.index.php

// 定义应用目录 应用目录为public目录的上一级目录的application目录
define('APP_PATH', __DIR__ . '/../application/');  
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
2.start.php

namespace think;//命名空间为think

// ThinkPHP 引导文件
// 加载基础文件,加载当前文件所在目录下的base.php文件
require __DIR__ . '/base.php';
// 执行应用,run方法产生response类实例,再调用该类实例的send方法
App::run()->send();
3.base.php

define('THINK_VERSION', '5.0.10'); //版本号
define('THINK_START_TIME', microtime(true));  //应用开始时间 返回当前 Unix 时间戳和微秒数以浮点数的形式
define('THINK_START_MEM', memory_get_usage()); //  返回当前分配给你的 PHP 脚本的内存量,单位是字节(byte
define('EXT', '.php');  //后缀名为.php
define('DS', DIRECTORY_SEPARATOR); //目录分隔符,在不同操作系统目录分隔符不相同
defined('THINK_PATH') or define('THINK_PATH', __DIR__ . DS);  //THINK_PATH 路径为 ..../thinkphp/,没有定义的情况下
define('LIB_PATH', THINK_PATH . 'library' . DS); //常量值为 .../thinkphp/library/
define('CORE_PATH', LIB_PATH . 'think' . DS);//常量值为 .../thinkphp/library/think/
define('TRAIT_PATH', LIB_PATH . 'traits' . DS);//常量值为 .../thinkphp/library/traits/
defined('APP_PATH') or define('APP_PATH', dirname($_SERVER['SCRIPT_FILENAME']) . DS); //APP_PATH没有定义的情况下 就是在public目录下  .../public/
defined('ROOT_PATH') or define('ROOT_PATH', dirname(realpath(APP_PATH)) . DS); //没有定义ROOT_PATH的情况下,默认为APP_PATH的上一级目录
defined('EXTEND_PATH') or define('EXTEND_PATH', ROOT_PATH . 'extend' . DS);//默认为ROOT_PATH目录里面的extend目录
defined('VENDOR_PATH') or define('VENDOR_PATH', ROOT_PATH . 'vendor' . DS);//默认为ROOT_PATH目录里面的vendor目录
defined('RUNTIME_PATH') or define('RUNTIME_PATH', ROOT_PATH . 'runtime' . DS);//默认为ROOT_PATH目录里的runtime目录
defined('LOG_PATH') or define('LOG_PATH', RUNTIME_PATH . 'log' . DS);//默认为RUNTIME_PATH下面的log目录
defined('CACHE_PATH') or define('CACHE_PATH', RUNTIME_PATH . 'cache' . DS);//默认为RUNTIME_PATH下面的cache目录
defined('TEMP_PATH') or define('TEMP_PATH', RUNTIME_PATH . 'temp' . DS);//默认为RUNTIME_PATH下面的temp目录
defined('CONF_PATH') or define('CONF_PATH', APP_PATH); // 配置文件目录和APP_PATH目录一样
defined('CONF_EXT') or define('CONF_EXT', EXT); // 配置文件后缀,配置文件后缀为.php
defined('ENV_PREFIX') or define('ENV_PREFIX', 'PHP_'); // 环境变量的配置前缀为PHP_

// 环境常量
define('IS_CLI', PHP_SAPI == 'cli' ? true : false);//IS_CLS判断是不是终端环境运行
define('IS_WIN', strpos(PHP_OS, 'WIN') !== false);//判断当前操作系统是不是windows操作系统内

// 载入Loader类
require CORE_PATH . 'Loader.php';//加载

// 加载环境变量配置文件,线判断根目录下的.env文件是不是一个文件如果,格式必须是和ini文件一样的格式,再解析ini文件,设置php.ini
if (is_file(ROOT_PATH . '.env')) {
    $env = parse_ini_file(ROOT_PATH . '.env', true);
    foreach ($env as $key => $val) {
        $name = ENV_PREFIX . strtoupper($key);
        if (is_array($val)) {
            foreach ($val as $k => $v) {
                $item = $name . '_' . strtoupper($k);
                putenv("$item=$v");//设置环境变量的值环境变量仅存活于当前请求期间。   在请求结束时环境会恢复到初始状态
            }
        } else {
            putenv("$name=$val");//设置环境变量的值环境变量仅存活于当前请求期间。   在请求结束时环境会恢复到初始状态用户仅能够修改以 PHP_ 开头的环境变量
        }
    }
}

// 注册自动加载
\think\Loader::register(); //加载注册

// 注册错误和异常处理机制
\think\Error::register();//错误注册

// 加载惯例配置文件
\think\Config::set(include THINK_PATH . 'convention' . EXT);//加载THINK_PATH下的convention.php文件





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值