[TOC] > `think\Request`、`think\facade\Request`、`app\Request` 之間的聯系 **官方手冊原文** 當前的請求對象由think\Request類負責,該類不需要單獨實例化調用,通常使用依賴注入即可。在其它場合則可以使用think\facade\Request靜態類操作。項目里面應該使用app\Request對象,該對象繼承了系統的think\Request對象。 **個人總結** 請求信息本質上由think\Request類負責,但是使用的時候不應直接實例化調用。 要么使用 think\facade\Request 類靜態調用,要么通過app\Request對象鏈式調用 #### 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); } ```  #### 3. 框架提供的基礎控制器的 `request` 屬性 --- **繼承基礎控制器:BaseController.php** ```php <?php namespace app\controller; use app\BaseController; class User extends BaseController { public function index() { // app\Request 對象 $request = $this->request; dump($request); } } ``` **基礎控制器構造方法**  #### 4. request() 助手函數 --- request() 助手函數返回 `\app\Request` 對象 ```php // app\Request 對象 $request = request(); dump($request); ``` #### 5. app() 超級助手函數 --- ```php // app\Request 對象 $request1 = app('request'); // app\Request 對象 $request2 = app()->request; // app\Request 對象 $request3 = app()->app->request; dump($request1); dump($request2); dump($request3); ```