TP5.1核心代码学习 day1

TP5.1发布于2018年

相对于TP5  

TP5.1  有以下改变 没有照搬官方文档,只是个人见解

1 取消常量配置     官方给的说法是更加灵活  现在想用个BASE_PATH 都要自己定义

2 引入容器 (container) 和facade 类  

3 目录结构改变 多了一个config文件夹  感觉结构更清晰

我目前的常量配置在APP下的common.php里 ,也可以配置在config 下 

TP5.1 index.php 

require __DIR__ . '/../thinkphp/base.php';
引入的文件 base.php
Loader::register(); // 加载类文件
Loader::addClassAlias //注册类库 别名 

到这里已经可以调用基本类了

比如 现在要调用 DB类
\Cache::
实际上调用过程是
调用facade\Cache
当facade类中不存在此静态方法时
就会调用该类下的PHP魔术方法
// 调用实际类的方法
public static function __callStatic($method, $params)
{
return call_user_func_array([static::createFacade(), $method], $params);
}
调用这个类文件


index.php
// 执行应用并响应
Container::get('app')->run()->send();
这里是执行应用文件的初始化,加载其他配置文件 

果然还是有点勉强 应该把TP5.1其他地方研究透彻再研究整体加载过程 因为项目用的TP5.1.19 目前最新版本是
5.1.32 LTS  修改了入口文件index.php文件加载的内容,还需要仔细研究下,加油!

猜你喜欢

转载自www.cnblogs.com/qsAnunnaki/p/10236551.html