196 laravel 源码解析-3
来源:互联网 发布:如何上传淘宝宝贝图片 编辑:程序博客网 时间:2024/06/07 09:51
Illuminate\Foundation\Application
我发现在看第一节所讲的make方法时候有点迷糊,可能是看代码的顺序有点问题.所以这次我们先回到 public/index.php
public/index.php
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
发现这里的$kernel
是make方法返回的一个对象.
make在第一节中提到过,这里的app是
$app = require_once __DIR__.'/../bootstrap/app.php';
所以我们再看一下bootstrap/app.php
这个文件
bootstrap/app.php
$app = new Illuminate\Foundation\Application( realpath(__DIR__.'/../'));...return $app;
原来上面的app是Illuminate\Foundation\Application
对象,它在第一行new,最后一行return,于是我们再看Illuminate\Foundation\Application
Illuminate\Foundation\Application
从make()
方法开始,
public function make($abstract, array $parameters = []){ $abstract = $this->getAlias($abstract); if (isset($this->deferredServices[$abstract])) { $this->loadDeferredProvider($abstract); } return parent::make($abstract, $parameters);}
我重新回去看了下第一节,有点懵,so只能猜了,在app.php
里面有这一段
$app->singleton( Illuminate\Contracts\Http\Kernel::class, App\Http\Kernel::class);
猜测$kernel = $app->make()
的真实类型是App\Http\Kernel
,具体请按照以下顺序 查看代码 $app->singleton()->bind()->alias()->make()
0 0
- 196 laravel 源码解析-3
- Laravel源码(流程)解析
- Laravel源码解析一 【请求的生命周期】
- laravel经典源码
- Laravel 源码解读
- laravel中间件源码分析
- laravel源码详解
- Laravel 源码解读
- laravel框架MVC解析
- Laravel 服务容器解析
- laravel 源码解析,应用初始化时绑定一个控制台命令处理类
- laravel 5.1 查询底层原理 (Query Builder) 源码解析(上)
- laravel 5.1 查询底层原理 (Query Builder) 源码解析(中)
- laravel 5.1 查询底层原理 (Query Builder) 源码解析(下)
- php laravel 源码阅读3(注册自动加载)
- EventBus 3 源码解析
- Live555源码解析(3)
- picasso源码解析3
- Android Universal Image Loader 源码分析
- Python异步非阻塞IO多路复用Select/Poll/Epoll使用
- Effective Modern C++ 条款29 假设移动操作是不存在的、不廉价的、不能用的
- mysql中char、varchar、text区别和存储范围
- PHP项目分享- 一人一价格 价格体系
- 196 laravel 源码解析-3
- 使用SmartUpload批量上传文件
- (15 C++ Homework) D&A 2 Array
- 124. Binary Tree Maximum Path Sum 二叉树上的最大路径和
- 浅谈工作流调度系统
- 389. Find the Difference
- Bitset1
- 正则表达式
- Android中Acition和Category常量表