22
33为什么生命周期不在第一节开始讲,就怕如果不理解所谓的Ioc,Facade,中间件之类的概念,生命周期理解起来可能有一定的难度。
44
5- ## laravel的源代码生命周期是什么样子的
5+ ## laravel 的源代码生命周期是什么样子的
66
7- 第一步 Laravel 应用的所有请求入口都是 public/index.php 文件。打开index .php 发现代码也就几行。
7+ 第一步 Laravel 应用的所有请求入口都是 public/index.php 文件。打开 index .php 发现代码也就几行。
88
99``` php
1010
@@ -30,23 +30,23 @@ $kernel->terminate($request, $response);
3030
3131``` php
3232
33- // 定义了laravel一个请求的开始时间
33+ // 定义了 laravel 一个请求的开始时间
3434define('LARAVEL_START', microtime(true));
3535
36- // composer自动加载机制
36+ // composer 自动加载机制
3737require __DIR__.'/../vendor/autoload.php';
3838
39- // 这句话你就可以理解laravel,在最开始引入了一个ioc容器 。
39+ // 这句话你就可以理解 laravel, 在最开始引入了一个 ioc 容器 。
4040$app = require_once __DIR__.'/../bootstrap/app.php';
4141
42- // 打开__DIR__.'/../bootstrap/app.php';你会发现这段代码,绑定了Illuminate \Contracts\Http\Kernel::class,
43- // 这个你可以理解成之前我们所说的$ioc->bind();方法。
42+ // 打开__DIR__.'/../bootstrap/app.php'; 你会发现这段代码,绑定了 Illuminate \Contracts\Http\Kernel::class,
43+ // 这个你可以理解成之前我们所说的 $ioc->bind(); 方法。
4444// $app->singleton(
4545// Illuminate\Contracts\Http\Kernel::class,
4646// App\Http\Kernel::class
4747// );
4848
49- // 这个相当于我们创建了Kernel::class的服务提供者
49+ // 这个相当于我们创建了 Kernel::class 的服务提供者
5050$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
5151
5252// 获取一个 Request ,返回一个 Response。以把该内核想象作一个代表整个应用的大黑盒子,输入 HTTP 请求,返回 HTTP 响应。
@@ -62,11 +62,11 @@ $kernel->terminate($request, $response);
6262
6363```
6464
65- 走到这里你会发现,是不是在我们学会了ioc ,服务提供者理解起来就比较简单了。那$middleware,服务提供者都是在哪个文件注册运行的呢?
65+ 走到这里你会发现,是不是在我们学会了 ioc ,服务提供者理解起来就比较简单了。那 $middleware,服务提供者都是在哪个文件注册运行的呢?
6666
67- 打开App \Http\Kernel::class这个文件 ,你会发现定义了一堆需要加载的$middleware。这个kernel的主要方法还是在他的父类里面 Illuminate\Foundation\Http\Kernel中 。
67+ 打开 App \Http\Kernel::class 这个文件 ,你会发现定义了一堆需要加载的 $middleware。这个 kernel 的主要方法还是在他的父类里面 Illuminate\Foundation\Http\Kernel 中 。
6868
69- 打开Illuminate \Foundation\Http\Kernel,你会发现定义了启动时需要做的事呢?
69+ 打开 Illuminate \Foundation\Http\Kernel,你会发现定义了启动时需要做的事呢?
7070
7171``` php
7272protected $bootstrappers = [
@@ -79,5 +79,4 @@ protected $bootstrappers = [
7979];
8080```
8181
82- $bootstrappers 就定义了我们的 RegisterFacades.class,RegisterProviders.class 这两个类的意思就是要讲我们在app.config 中的Providers,Facades 注入到我们的 Ioc 容器中。具体是怎么执行的,我们下来可以打断点调试。
83-
82+ $bootstrappers 就定义了我们的 RegisterFacades.class,RegisterProviders.class 这两个类的意思就是要讲我们在 app.config 中的 Providers,Facades 注入到我们的 Ioc 容器中。具体是怎么执行的,我们下来可以打断点调试。
0 commit comments