[TOC] > `think\Request`、`think\facade\Request`、`app\Request` 之間的聯(lián)系 **官方手冊原文** 當前的請求對象由think\Request類負責,該類不需要單獨實例化調(diào)用,通常使用依賴注入即可。在其它場合則可以使用think\facade\Request靜態(tài)類操作。項目里面應(yīng)該使用app\Request對象,該對象繼承了系統(tǒng)的think\Request對象。 **個人總結(jié)** 請求信息本質(zhì)上由think\Request類負責,但是使用的時候不應(yīng)直接實例化調(diào)用。 要么使用 think\facade\Request 類靜態(tài)調(diào)用,要么通過app\Request對象鏈式調(diào)用 #### 1. 門面類 --- ```php // app\Request 對象 $request = \think\facade\Request::instance(); dump($request); ``` #### 2. 依賴注入 --- **特別注意:注入的是 \think\Request,而不能是門面類 \think\facade\Request** ```php public function save(\think\Request $request) { // app\Request 對象 dump($request); } ``` ![](https://img.itqaq.com/art/content/ed62c623554910ddf8db3b7cf2ab94f4.png) #### 3. 框架提供的基礎(chǔ)控制器的 `request` 屬性 --- **繼承基礎(chǔ)控制器:BaseController.php** ```php <?php namespace app\controller; use app\BaseController; class User extends BaseController { public function index() { // app\Request 對象 $request = $this->request; dump($request); } } ``` **基礎(chǔ)控制器構(gòu)造方法** ![](https://img.itqaq.com/art/content/e499ee8cf223d45dd5c4aad8e9f0beb1.png) #### 4. request() 助手函數(shù) --- request() 助手函數(shù)返回 `\app\Request` 對象 ```php // app\Request 對象 $request = request(); dump($request); ``` #### 5. app() 超級助手函數(shù) --- ```php // app\Request 對象 $request1 = app('request'); // app\Request 對象 $request2 = app()->request; // app\Request 對象 $request3 = app()->app->request; dump($request1); dump($request2); dump($request3); ```