1、载入Composer的自动加载文件,自动加载的真正实现是通过/vendor/autoload.php实现的,代码如下
2、加载/bootstrap/app.php文件,实例化服务容器,存在$app
3、向服务容器里绑定了三个服务:HTTP、Console、Excepiton
4、make方法取出http,存到$request变量中($request变量贯穿始终)
5、按照app配置文件顺序register所有的服务提供者
【laravel|laravel执行过程】6、按照注册顺序执行所有服务提供者的boot方法
7、将请求发送到route
8、执行中间件
9、发送请求
10、返回响应
PS:另有一个帮助理解facade和provider的,provider里的service使用的时候需要从容器中获取,facade本身也是一个provider里的service服务,只不过给该service提供了静态入口,所以定义facade时也需要定义provider
关于依赖注入:https://blog.csdn.net/bestone0213/article/details/47424255
推荐阅读
- 对GO切片的理解
- 小程序商城网站开发秒杀模块篇
- 盲盒购物网站系统开发建设 第三篇
- Netty核心概念之ChannelHandler&Pipeline&ChannelHandlerContext
- laravel 8 修改默认的paginate分页模板
- 简单的线程池实现多线程对大文件的读取
- SSH 端口转发与 SOCKS 代理
- Ubuntu16.04/Scala2.11.8安装教程
- 学习PHP中的高精度计时器HRTime扩展
- 使用OpenResty+Lua实现灰度测试(金丝雀)