第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

ThinkPHP 獲取請求信息

1. 前言

前面小節(jié)介紹了 ThinkPHP 的路由規(guī)則,包括 POST、PUTGET、DELETE 請求方式,本小節(jié)主要介紹這幾種請求方式中一些常見的信息獲取,獲取這些參數(shù)將有助于加深框架的理解,并且能很好的理解框架工作原理,也能通過這些有用的信息來分析業(yè)務(wù)中的 BUG。

2. 調(diào)用請求對象

首先,為了演示方便,我們定義一個路由規(guī)則,定義代碼如下:

<?php
use think\facade\Route;

Route::get('info','Test/getInfo');

Tips: 其中 info 表示路由名,這是一個 GET 請求方式,Test 表示控制器名,getInfo 表示 Test 控制器下的方法名。

可以直接在控制器方法的參數(shù)中注入 Request 類對象,參考代碼如下:

<?php
namespace app\controller;

use app\BaseController;
use think\Request;

class Test extends BaseController
{
    public function getInfo(Request $request){
        halt($request);
    }
}

Tips: 其中 Request 表示請求對象,這是通過依賴注入進來的,halt() 方法是打印內(nèi)容并結(jié)束,$request 表示 Request 對象。

執(zhí)行結(jié)果如下圖所示:
圖片描述

Tips: 如圖所示表示打印的 Request 對象的信息,其中包含了全部的請求信息。

3. 獲取當(dāng)前訪問域名或 IP

可以使用 Request 對象中的 host() 方法獲取當(dāng)前訪問的域名或 IP,代碼如下:

    public function getInfo(Request $request){
        halt($request->host());
    }

執(zhí)行結(jié)果如下圖所示:
圖片描述

Tips: 如圖所示 host() 方法獲取到的是當(dāng)前訪問的域名,不包含子 url

4. 獲取當(dāng)前訪問端口

可以使用 Request 對象中的 port() 方法獲取當(dāng)前訪問的端口號,代碼如下:

    public function getInfo(Request $request){
        halt($request->port());
    }

執(zhí)行結(jié)果如下圖所示:
圖片描述

Tips: 所謂的端口,就好像是門牌號一樣,客戶端可以通過ip地址找到對應(yīng)的服務(wù)器端,但是服務(wù)器端是有很多端口的,每個應(yīng)用程序?qū)?yīng)一個端口號,通過類似門牌號的端口號,客戶端才能真正的訪問到該服務(wù)器。為了對端口進行區(qū)分,將每個端口進行了編號,這就是端口號 。

5. 獲取 HTTP 頭信息

可以使用 Request 對象中的 header() 方法獲取當(dāng)前 HTTP 請求的頭信息,代碼如下:

    public function getInfo(Request $request){
        halt($request->header());
    }

執(zhí)行結(jié)果如下圖所示:
圖片描述

6. Request 請求對象方法說明

下面列舉了一些 Request 請求對象中方法的說明:

方法名 功能與作用描述
host 當(dāng)前訪問域名或者IP
scheme 當(dāng)前訪問協(xié)議
port 當(dāng)前訪問的端口
remotePort 當(dāng)前請求的REMOTE_PORT
protocol 當(dāng)前請求的SERVER_PROTOCOL
contentType 當(dāng)前請求的CONTENT_TYPE
domain 當(dāng)前包含協(xié)議的域名
subDomain 當(dāng)前訪問的子域名
panDomain 當(dāng)前訪問的泛域名
rootDomain 當(dāng)前訪問的根域名
url 當(dāng)前完整URL
baseUrl 當(dāng)前URL(不含QUERY_STRING)
query 當(dāng)前請求的QUERY_STRING參數(shù)
baseFile 當(dāng)前執(zhí)行的文件
root URL訪問根地址
rootUrl URL訪問根目錄
pathinfo 當(dāng)前請求URL的pathinfo信息(含URL后綴)
ext 當(dāng)前URL的訪問后綴
time 獲取當(dāng)前請求的時間
type 當(dāng)前請求的資源類型
method 當(dāng)前請求類型
rule 當(dāng)前請求的路由對象實例

7. 小結(jié)

本節(jié)課介紹了如何使用 Request 對象獲取請求信息,首先介紹了如何調(diào)用 Request 請求對象,然后介紹了如何獲取當(dāng)前請求域名、當(dāng)前訪問端口、當(dāng)前請求的 HTTP 頭信息,最后列舉了 Request 請求對象中方法的作用說明,若要調(diào)用其他方法可以參考本節(jié)課介紹的幾種方式。

Tips: 代碼倉庫:https://gitee.com/love-for-poetry/tp6