项目目录相对为tp6
请求被统一转发到入口文件(入口文件地址为 tp6/index.php)
1、入口文件引入了composer自动载入文件类库
<php?
namespace think;
require __DIR__ . '/../vendor/autoload.php';
上面这句就是引入了composer目录下autoload文件,就是用composer的自动加载机制,框架核心加载composer的autoload文件
(文件地址为 tp6/vendor/autoload.php')
2、实例化 think\App 对象 赋值给$app
<?php
$app = new App();
(App类文件地址为 tp6/vendor/topthink/framework/src/think/App.php')
执行App类中的__construct构造方法
3、通过$app类调用http类(web管理类)
$http = $app->http;
3.0 引用http类的过程如下:
(http类文件地址为 tp6/vendor/topthink/framework/src/think/Http.php')
4、http对象执行run方法,应用程序的执行开始
5、执行run方法
$response = $http->run();
6、response 执行send输出数据的操作;
(Html 类文件所在地址为 tp6/vendor/topthink/framework/src/think/response/Html.php )
7、执行 http对象中的end方法
<?php
$http->end($response);
(http类文件地址为 tp6/vendor/topthink/framework/src/think/Http.php')
8、整个程序结束
应用类App继承了Container容器类, 所有类的实例通过容器类进行统一管理,容器类为单例模式全局唯一;