Laravel的请求声明周期
声明周期概述#
开始#
public/index.php 文件是所有对Laravel应用程序的请求的入口点。而所有的请求都是经由你的Web服务器(Apache/Nginx)
通过配置引导到这个文件。index.php 文件不包含太多的代码,却是加载框架的起点。
index.php 问价加载Composer生成定义的自动加载器,然互从bootstrap/app.php脚本中检索Laravel应用程序的实例。
Laravel本身采取的第一个动作是创建一个application/service container的实例。
HTTP / 控制器内核#
接下来,根据进入应用的程序大的请求类型来将传入的请求发送到HTTP内核或控制台内核。而这两个内核是用来作为所有
请求都要通过的中心位置。现在,我们先看看位于 app/Http/Kernel.php中的HTTP内核。
HTTP内核继承了 Illuminate\Foundation\Http\Kernerl类,他定义了在执行请求之前运行的bootstrappers数组。这个数组
负责在实际处理请求之前完成这些内容:配置错误处理、配置日志记录、检测应用程序环境以及执行其他需要完成的任务。
HTTP内核还定义了所有请求被应用程序处理之前必须经过的HTTP中间件的列表。这些中间件处理HTTP会话的读写。
确定应用程序是否处于维护模式、验证CSRF令牌等。
HTTP内核的handle方法的方法签名非常简单:接收Request 并返回 Response。可以把内核当做是代表整个应用
程序的大黑盒,给他HTTP请求,他就返回HTTP相应。
服务提供器#
最重要的内核引导操作之一是加载应用程序的服务提供器。引用程序的所有服务提供器都在config/app.php配置文件的
providers 数组中配置。首先,所有提供器都会调用register方法,接着,由 boot方法负责调用所有被注册提供器。
服务器负责引导所有框架的各种组件,如数据库、队列、验证和路由文件。也就是说,框架提供的每个功能
都由他们来引导并配置。因此也可以说,服务提供器是整个Laravel引导过程中最重要的方面。
分配请求#
一旦引导了引用程序且注册所有服务器提供器,Request请求就会被转交给路由器来进行调度。路由器将请求发送到路由
或控制器或任何运行与路由的特定中间件。
聚焦服务提供器#
服务提供器引导Laravel应用程序真正的关键。创建应用程序实例、注册服务提供器,并请求交给被引导的
应用程序。
转载于:https://www.cnblogs.com/simadongyang/p/8470091.html
Laravel的请求声明周期相关推荐
- Django-分页、中间件和请求的声明周期
一.分页 相关连接:https://www.cnblogs.com/kongzhagen/p/6640975.html 一.Django的分页器(paginator) 1.view.py 视图 fro ...
- JSP→基本语法/静态内容/指令/动作/表达式/小脚本(Scriptlet)/声明/注释、JSP页面声明周期、代码样例、九大隐式内置对象及方法代码样例
JSP(全称JavaServer Pages)是一种动态网页技术标准. 指令 注释 小脚本 声明 表达式 JSP页面声明周期 九九乘法表样例 九大隐式内置对象 out get与post请求方式区别 r ...
- python 全栈开发,Day84(django请求生命周期,FBV和CBV,ORM拾遗,Git)
一.django 请求生命周期 流程图: 1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post ...
- 【项目实战-CRM】(一:技术架构 公司组织结构 软件开发声明周期 核心业务)
文章目录 1.CRM技术架构 2.软件公司的组织结构 3. 软件开发的声明周期 4.CRM核心业务 1.CRM技术架构 视图层(View) 功能:展示数据,跟用户交互. html css js jqu ...
- [译] ASP.NET 生命周期 – ASP.NET 请求生命周期(四)
不使用特殊方法来处理请求生命周期事件 HttpApplication 类是全局应用类的基类,定义了可以直接使用的一般 C# 事件.那么使用标准 C# 事件还是特殊方法那就是个人偏好的问题了,如果喜欢, ...
- Django框架深入了解_01(Django请求生命周期、开发模式、cbv源码分析、restful规范、跨域、drf的安装及源码初识)
阅读目录 一.Django请求生命周期: 二.WEB开发模式: 三.cbv源码分析: 四.认识RESTful 补充知识:跨域 五.基于原生django开发restful的接口 六.drf安装.使用.A ...
- C语言存储类、作用域、声明周期、链接属性
存储类.作用域.声明周期.链接属性 基本概念解析 存储类 作用域 生命周期 链接属性 总结 基本概念解析 存储类 1.存储类就是存储类型,也就是描述C语言变量在何种地方存储. 2.内存有多种管理方法, ...
- Django05: 请求生命周期流程图/路由层
请求生命周期流程图 扩展知识: 缓存数据库 路由层 路由匹配 url(r'^test/', views.test), 1. 第一个参数是正则匹配. 只要第一个匹配了,就不会执行下面. 输入url会默认 ...
- java 单例 生命周期_单例模式--- 声明周期托管方式
声明周期托管方式,IOC JAVA代码 MyManager.java import java.util.HashMap; /** * 为了管理对象的产生 * 对象的控制权给当前类负责 * 生命周期托管 ...
最新文章
- php面向对象实践,【技术产品】PHP中的面向对象实践-基本实践案例
- 刷题总结——生日礼物(bzoj1293单调队列)
- SQL触发器实例讲解1
- 【机器视觉】 assign算子
- HashSet,TreeSet和LinkedHashSet的区别
- PHP算法学习(6) 单向链表 实现栈
- Android九点阵手势识别,能量黑科技模块八-九:两路按键颜色手势魔块
- 5000并发_彻底理解 jmeter 的线程数与并发数之间的关系
- Access中使用SQL语句应掌握的几点技巧
- Atitit 编程语言编程方法的进化演进 sp COP ,AOP ,SOP
- 3DMAX 捕捉功能
- wps转html乱码,wps转换成word后乱码
- python版武侠小说男女侠姓名生成器
- 豆瓣电影详情数据爬取
- Python爬取动态加载的网站图片
- 计算机只能在安全模式下起动,电脑不能进入正常的XP系统,只能在安全模式下启动?...
- 经典RPG游戏Crypto Sword Magic
- android7.x Launcher3源码解析(2)---框架结构
- Python上使用及安装tesseract
- 扫地机器人相关传感器技术
热门文章
- mysql repo_centos7下使用wget命令安装mysql
- wps不能打印_Excel表格怎么打印在一张纸上?
- 含有“外骨骼”的电影和游戏
- python测试工程师招聘_招聘软件测试工程师,限女生
- python进程线程协程区别_Python3多线程与协程
- MySQL退出选择表格_MySQL常用命令
- 数据结构和算法分析:第三章 表、队列和栈
- 安装启动gui卡住_为什么Windows 10升级安装卡住了,原因在这
- GitBash上传项目出现[fatal: remote origin already exists.]问题解决方案
- No changes detected