Laravel 请求周期详解
这是我参与8月更文挑战的第10天,活动详情查看:8月更文挑战
之前写了一篇Laravel提高DB查询效率的文章,转发到群里后竟然有人质疑我说“Laravel是他好几年前用的框架,没想到现在还有人在用。”
纳尼,什么意思嘛?别忘了PHP是最好的语言!
个人认为Laravel是非常优雅的开发框架:优雅的设计模式、强大的功能实现、各种方便的扩展、持续的版本更新,更主要的是迄今为止我认为最优秀的技术开发社区。
我必须为Laravel打Call。
2020年9月8号,Laravel发布了8.0版本。 Laravel计划于2022年1月25日发布9.0版本。
下面我介绍一下目前Laravel最新版(8.0版本)的新特性:
Laravel 8 通过引入 Laravel Jetstream,模型工厂类,迁移压缩,队列批处理,改善速率限制,队列改进,动态 Blade 组件,Tailwind 分页视图, 时间测试助手,artisan serve 的改进,事件监听器的改进,以及各种其他错误修复和可用性改进,对 Laravel 7.x 继续进行了改善。
生命周期概述
Laravel 应用的所有请求入口都是 public/index.php 文件。
而所有的请求都是经由我们的 Web 服务器(Apache/Nginx)通过配置引导到这个文。
index.php 文件代码并不多,但是,这里是加载框架其它部分的起点。
index.php 文件加载 Composer 生成的自动加载设置,然后从 bootstrap/app.php 脚本中检索 Laravel 应用程序的实例。Laravel 本身采取的第一个动作是创建一个应用程序 / 服务容器。
public/index.php代码
下面附上index.php的代码,方便大家更好的理解
php
<?php define('LARAVEL_START', microtime(true)); require __DIR__.'/../vendor/autoload.php'; $app = require_once __DIR__.'/../bootstrap/app.php'; /* |-------------------------------------------------------------------------- | Run The Application |-------------------------------------------------------------------------- | | Once we have the application, we can handle the incoming request | through the kernel