zoukankan      html  css  js  c++  java
  • 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内核继承了 IlluminateFoundationHttpKernerl类,他定义了在执行请求之前运行的bootstrappers数组。这个数组

    负责在实际处理请求之前完成这些内容:配置错误处理、配置日志记录、检测应用程序环境以及执行其他需要完成的任务。

    HTTP内核还定义了所有请求被应用程序处理之前必须经过的HTTP中间件的列表。这些中间件处理HTTP会话的读写。

    确定应用程序是否处于维护模式、验证CSRF令牌等。

    HTTP内核的handle方法的方法签名非常简单:接收Request 并返回 Response。可以把内核当做是代表整个应用

    程序的大黑盒,给他HTTP请求,他就返回HTTP相应。

    服务提供器#

    最重要的内核引导操作之一是加载应用程序的服务提供器。引用程序的所有服务提供器都在config/app.php配置文件的

    providers 数组中配置。首先,所有提供器都会调用register方法,接着,由 boot方法负责调用所有被注册提供器。

    服务器负责引导所有框架的各种组件,如数据库、队列、验证和路由文件。也就是说,框架提供的每个功能

    都由他们来引导并配置。因此也可以说,服务提供器是整个Laravel引导过程中最重要的方面。

    分配请求#

    一旦引导了引用程序且注册所有服务器提供器,Request请求就会被转交给路由器来进行调度。路由器将请求发送到路由

    或控制器或任何运行与路由的特定中间件。

    聚焦服务提供器#

    服务提供器引导Laravel应用程序真正的关键。创建应用程序实例、注册服务提供器,并请求交给被引导的

    应用程序。

  • 相关阅读:
    第四次实验报告
    第三次实验报告
    第五章循环结构课后反思
    第二次实验报告
    第一次实验报告
    第一次作业
    第九章 结构体与共用体
    第八章实验报告
    第七章数组实验
    第六章函数与宏定义实验报告(2)
  • 原文地址:https://www.cnblogs.com/simadongyang/p/8470091.html
Copyright © 2011-2022 走看看