Laravel 请求类 Request 剖析
由 学院君 创建于2年前, 最后更新于 5个月前
版本号 #2
8503 views
6 likes
1 collects
我们已经知道,在 Laravel 框架中,需要通过 Request 对象来获取用户请求信息,该对象引用的完整类名是 Illuminate\Http\Request,而该请求类又继承自 Symfony 的 Symfony\Component\HttpFoundation\Request,所以在介绍 Laravel 的 Request 之前,需要先对 Symfony 底层的 Request 类做个简单的介绍。
Request 底层实现简介
事实上,Laravel 的很多底层组件都是基于 Symfony 的,比如请求、响应、命令行、Cookie、文件等,这里我们主要讨论请求组件。Symfony 也是一个 PHP 框架,并且提供了大量的可复用组件,这些组件可以独立于 Symfony 框架使用,这其中就包括 HttpFoundation 组件,该组件通过 PHP 语言定义了一个针对 HTTP 规范的面向对象抽象层,其中封装了有关 HTTP 请求和响应的一切信息,包括请求、响应、头、Cookie、文件等:
public static function createFromGlobals()
{
$request = self::createRequestFromFactory($_GET, $_POST, array(), $_COOKIE, $_FILES, $_SERVER);
...
通过这个组件,我们无需通过类似 $_GET、$_POST、$_CO