声明周期概述#

开始#

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的请求声明周期相关推荐

  1. Django-分页、中间件和请求的声明周期

    一.分页 相关连接:https://www.cnblogs.com/kongzhagen/p/6640975.html 一.Django的分页器(paginator) 1.view.py 视图 fro ...

  2. JSP→基本语法/静态内容/指令/动作/表达式/小脚本(Scriptlet)/声明/注释、JSP页面声明周期、代码样例、九大隐式内置对象及方法代码样例

    JSP(全称JavaServer Pages)是一种动态网页技术标准. 指令 注释 小脚本 声明 表达式 JSP页面声明周期 九九乘法表样例 九大隐式内置对象 out get与post请求方式区别 r ...

  3. python 全栈开发,Day84(django请求生命周期,FBV和CBV,ORM拾遗,Git)

    一.django 请求生命周期 流程图: 1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post ...

  4. 【项目实战-CRM】(一:技术架构 公司组织结构 软件开发声明周期 核心业务)

    文章目录 1.CRM技术架构 2.软件公司的组织结构 3. 软件开发的声明周期 4.CRM核心业务 1.CRM技术架构 视图层(View) 功能:展示数据,跟用户交互. html css js jqu ...

  5. [译] ASP.NET 生命周期 – ASP.NET 请求生命周期(四)

    不使用特殊方法来处理请求生命周期事件 HttpApplication 类是全局应用类的基类,定义了可以直接使用的一般 C# 事件.那么使用标准 C# 事件还是特殊方法那就是个人偏好的问题了,如果喜欢, ...

  6. Django框架深入了解_01(Django请求生命周期、开发模式、cbv源码分析、restful规范、跨域、drf的安装及源码初识)

    阅读目录 一.Django请求生命周期: 二.WEB开发模式: 三.cbv源码分析: 四.认识RESTful 补充知识:跨域 五.基于原生django开发restful的接口 六.drf安装.使用.A ...

  7. C语言存储类、作用域、声明周期、链接属性

    存储类.作用域.声明周期.链接属性 基本概念解析 存储类 作用域 生命周期 链接属性 总结 基本概念解析 存储类 1.存储类就是存储类型,也就是描述C语言变量在何种地方存储. 2.内存有多种管理方法, ...

  8. Django05: 请求生命周期流程图/路由层

    请求生命周期流程图 扩展知识: 缓存数据库 路由层 路由匹配 url(r'^test/', views.test), 1. 第一个参数是正则匹配. 只要第一个匹配了,就不会执行下面. 输入url会默认 ...

  9. java 单例 生命周期_单例模式--- 声明周期托管方式

    声明周期托管方式,IOC JAVA代码 MyManager.java import java.util.HashMap; /** * 为了管理对象的产生 * 对象的控制权给当前类负责 * 生命周期托管 ...

最新文章

  1. php面向对象实践,【技术产品】PHP中的面向对象实践-基本实践案例
  2. 刷题总结——生日礼物(bzoj1293单调队列)
  3. SQL触发器实例讲解1
  4. 【机器视觉】 assign算子
  5. HashSet,TreeSet和LinkedHashSet的区别
  6. PHP算法学习(6) 单向链表 实现栈
  7. Android九点阵手势识别,能量黑科技模块八-九:两路按键颜色手势魔块
  8. 5000并发_彻底理解 jmeter 的线程数与并发数之间的关系
  9. Access中使用SQL语句应掌握的几点技巧
  10. Atitit 编程语言编程方法的进化演进 sp  COP ,AOP ,SOP
  11. 3DMAX 捕捉功能
  12. wps转html乱码,wps转换成word后乱码
  13. python版武侠小说男女侠姓名生成器
  14. 豆瓣电影详情数据爬取
  15. Python爬取动态加载的网站图片
  16. 计算机只能在安全模式下起动,电脑不能进入正常的XP系统,只能在安全模式下启动?...
  17. 经典RPG游戏Crypto Sword Magic
  18. android7.x Launcher3源码解析(2)---框架结构
  19. Python上使用及安装tesseract
  20. 扫地机器人相关传感器技术

热门文章

  1. mysql repo_centos7下使用wget命令安装mysql
  2. wps不能打印_Excel表格怎么打印在一张纸上?
  3. 含有“外骨骼”的电影和游戏
  4. python测试工程师招聘_招聘软件测试工程师,限女生
  5. python进程线程协程区别_Python3多线程与协程
  6. MySQL退出选择表格_MySQL常用命令
  7. 数据结构和算法分析:第三章 表、队列和栈
  8. 安装启动gui卡住_为什么Windows 10升级安装卡住了,原因在这
  9. GitBash上传项目出现[fatal: remote origin already exists.]问题解决方案
  10. No changes detected