TP6.0 獲取請求對象的五種方式


think\Requestthink\facade\Requestapp\Request 之間的聯系

官方手冊原文

當前的請求對象由think\Request類負責,該類不需要單獨實例化調用,通常使用依賴注入即可。在其它場合則可以使用think\facade\Request靜態類操作。項目里面應該使用app\Request對象,該對象繼承了系統的think\Request對象。

個人總結

請求信息本質上由think\Request類負責,但是使用的時候不應直接使用該類。
要么使用 think\facade\Request 類靜態調用,要么通過app\Request對象鏈式調用

1. 門面類


// app\Request 對象
$request = \think\facade\Request::instance();

dump($request);

2. 依賴注入


特別注意:注入的是 \think\Request,而不能是門面類 \think\facade\Request

public function save(\think\Request $request)
{
	// app\Request 對象
	dump($request);
}

3. 框架提供的基礎控制器的 request 屬性


繼承基礎控制器:BaseController.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 對象

// app\Request 對象
$request = request();

dump($request);

5. app() 超級助手函數


// app\Request 對象
$request1 = app('request');
// app\Request 對象
$request2 = app()->request;
// app\Request 對象
$request3 = app()->app->request;

dump($request1);
dump($request2);
dump($request3);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM