php源码分析 基础,thinkphp源码分析(二)—入口篇

源码分析---入口篇

源码分析

应用入口

用户发起的请求都会经过应用的入口文件,通常是 ==public/index.php==文件。当然,你也可以更改或者增加新的入口文件。

通常入口文件的代码都比较简单,一个普通的入口文件代码如下:

// 应用入口文件

// 定义项目路径

define('APP_PATH', __DIR__ . '/../application/');

// 加载框架引导文件

require __DIR__ . '/../thinkphp/start.php';

一般入口文件以定义一些常量为主,支持的常量请参考后续的内容或者附录部分。

通常,我们不建议在应用入口文件中加入过多的代码,尤其是和业务逻辑相关的代码。

加载引导文件

// ThinkPHP 引导文件

// 1. 加载基础文件

require __DIR__ . '/base.php';

// 2. 执行应用

App::run()->send();

加载基础文件

// __DIR__ . '/base.php'文件

//定义常量

define('THINK_VERSION', '5.0.24');

....//常量太多省略了部分

// 载入Loader类

require CORE_PATH . 'Loader.php';

// 加载环境变量配置文件

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");

}

}

}

// 注册自动加载

\think\Loader::register();

// 注册错误和异常处理机制

\think\Error::register();

// 加载惯例配置文件

\think\Config::set(include THINK_PATH . 'convention' . EXT);

该部分主要是定义一些系统常量,关键点是引入了自动加载类并且注册了自动加载,使得框架可以自动引入类文件,业务层只要直接use对应命名空间的类即可进行实例化,注册错误及异常处理机制, 加载默认配置等操作。

最后就是应用启动,App::run()->send();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值