Laravel框架的生命周期有哪几个阶段?Laravel生命周期四个阶段的介绍
发布时间 - 2018-08-01 00:00:00 点击率:次我们都知道laravel请求到响应的整个执行过程,主要可以分为四个阶段:程序启动准备阶段、请求实例化阶段、请求处理阶段、响应发送和程序终止阶段;那么,每一个阶段里面又有哪些内容呢?下面我们就来简单看一看laravel框架请求到响应的整个生命周期的内容。
程序启动准备阶段
服务容器实例化
服务容器的实例化和基本注册,包括了服务容器本身注册、基础服务提供者注册、核心类别名注册和应用的基本路径注册。注册的服务只是具体的类名,是通过反射机制来实例化对象,并且通过反射机制自动解决构造函数中的依赖关系。
核心类实例化
核心类实例化是服务容器实例化后,通过核心类别名注册服务来得到的服务容器自动实例化对象。如:index.php中的Kernel类实例化:
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
请求实例化阶段
请求是客户端发送的一个请求报文,包括请求行、请求首部和请求实体。Laravel将其分类并保存在Illuminate\Http\Request类的实例对象中,也就是说将请求转化为一个实例对象。请求实例的创建是通过Il类的capture()静态方法完成的,即:
luminate\Http\Request
$request = Illuminate\Http\Request::capture();
但在capture()方法中,可以看出Laravel的请求实例是在Symfony请求实例的基础上创建的。而Symfony是通过PHP的全局数组$_GET、$_POST、$_COOKIE、$_FILE和$_SERVER作为参数来实例化请求的。
请求处理阶段
请求处理阶段首先是准备请求处理的环境,包括环境加载、服务提供者注册等环节,然后将请求实例通过中间件处理及通过路由和控制器的分发控制,使得不同的请求通过相应的处理程序进行处理并生成响应的过程。
响应发送和程序终止阶段
响应发送
Laravel的响应处理类是Illuminate\Http\Response类,该类的底层也是在Symfony的Response类。响应的发送包括两部分内容:响应头信息的发送和响应主体内容的发送。
程序终止
Laravel中,终止程序主要是完成终止中间件的调用。
以上是本篇文章的全部内容了,更多laravel内容请关注laravel框架入门教程。
相关文章推荐:
图概PHP生命周期,PHP生命周期_PHP教程
[ Laravel 5.2 文档 ] 架构 -- 一次请求的生命周期
# laravel
# php
# symfony
# 架构
# 中间件
# 构造函数
# 对象
# http
# 是在
# 基础上
# 又有
# 但在
# 将其
# 相关文章
# 可以看出
# 就来
# 转化为
# 两部分
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
常州企业网站制作公司,全国继续教育网怎么登录?
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
制作旅游网站html,怎样注册旅游网站?
制作电商网页,电商供应链怎么做?
怎么用AI帮你设计一套个性化的手机App图标?
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
微信小程序 scroll-view组件实现列表页实例代码
公司网站制作价格怎么算,公司办个官网需要多少钱?
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
如何批量查询域名的建站时间记录?
潮流网站制作头像软件下载,适合母子的网名有哪些?
如何用PHP快速搭建高效网站?分步指南
Laravel如何自定义分页视图?(Pagination示例)
如何在阿里云虚拟主机上快速搭建个人网站?
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
如何选择PHP开源工具快速搭建网站?
Laravel怎么在Blade中安全地输出原始HTML内容
如何基于云服务器快速搭建网站及云盘系统?
iOS发送验证码倒计时应用
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
如何在IIS中新建站点并配置端口与物理路径?
🚀拖拽式CMS建站能否实现高效与个性化并存?
Laravel如何升级到最新版本?(升级指南和步骤)
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
制作企业网站建设方案,怎样建设一个公司网站?
Python文本处理实践_日志清洗解析【指导】
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
专业商城网站制作公司有哪些,pi商城官网是哪个?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
nodejs redis 发布订阅机制封装实现方法及实例代码
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
网站图片在线制作软件,怎么在图片上做链接?
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
Windows Hello人脸识别突然无法使用
bootstrap日历插件datetimepicker使用方法
php json中文编码为null的解决办法
Thinkphp 中 distinct 的用法解析
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
如何用PHP快速搭建CMS系统?
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
php结合redis实现高并发下的抢购、秒杀功能的实例
原生JS实现图片轮播切换效果
JavaScript中的标签模板是什么_它如何扩展字符串功能
如何快速配置高效服务器建站软件?

