Request 類別¶
請求類別是 HTTP 請求的物件導向表現形式。這意味著它可以用於傳入請求(例如來自瀏覽器的請求),以及發出請求,(例如從應用程式發到第三方應用程式)。 這個類別提供了它們共同需要的功能,但是這兩者也都有各自繼承 Request 類別,然後分別添加特定的功能。
想了解更多請到 IncomingRequest 類別 和 CURLRequest 類別 。
類別參考¶
-
CodeIgniter\HTTP\Request
-
getIPAddress
()¶ 傳回: 可以偵測到的使用者的 IP 地址,否則為 NULL ,如果 IP 地址無效,則回傳 0.0.0.0 傳回型態: string 可以偵測到的使用者的 IP 地址,否則為 NULL ,如果 IP 地址無效,則回傳 0.0.0.0:
echo $request->getIPAddress();
重要
此方法會根據
App->proxyIPs
的設定,來回傳 HTTP_X_FORWARDED_FOR、 HTTP_CLIENT_IP、HTTP_X_CLIENT_IP 或H TTP_X_CLUSTER_CLIENT_IP。
-
isValidIP
($ip[, $which = ''])¶ 重要
這個方法已被棄用。
參數: - $ip (string) – IP 地址
- $which (string) – IP 協議 (『ipv4』 或是 『ipv6』)
傳回: IP 有效回傳 true,否則回傳 false
傳回型態: bool
傳入一個 IP 地址,根據 IP 是否有效回傳 true 或 false。
備註
$request->getIPAddress() 自動檢測 IP 地址是否有效。
if ( ! $request->isValidIP($ip)) { echo 'Not Valid'; } else { echo 'Valid'; }
第二個參數可選,可以為 『ipv4』 或 『ipv6』,預設這兩種格式皆會檢查。
-
getMethod
([$upper = FALSE])¶ 重要
$upper
參數的操作已被棄用。參數: - $upper (bool) – 以大寫還是小寫回傳方法名,TRUE 表示大寫
傳回: HTTP 請求方法
傳回型態: string
回傳
$_SERVER['REQUEST_METHOD']
,並且轉換字母到指定大寫或小寫。echo $request->getMethod(TRUE); // Outputs: POST echo $request->getMethod(FALSE); // Outputs: post echo $request->getMethod(); // Outputs: post
-
setMethod
($method)¶ 參數: - $upper (string) – 設定請求得方法,用於偽裝請求。
傳回: HTTP 請求方法
傳回型態: Request
-
getServer
([$index = null[, $filter = null[, $flags = null]]])¶ 參數: 傳回: $_SERVER 值,如果不存在則回傳 NULL。
傳回型態: mixed
該方法與 IncomingRequest 類別 中的
post()
、get()
和cookie()
方法相同。只是它只獲取 getServer 的資料 ($_SERVER
):$request->getServer('some_data');
要回傳多個
$_SERVER
值的陣列,請將所有的鍵值以陣列傳遞。$require->getServer(['SERVER_PROTOCOL', 'REQUEST_URI']);
-
getEnv
([$index = null[, $filter = null[, $flags = null]]])¶ 參數: 傳回: $_ENV 值,如果不存在則回傳 NULL。
傳回型態: mixed
該方法與 IncomingRequest 類別 中的
post()
、get()
和cookie()
方法相同。只是它只獲取 getEnv 的資料 ($_ENV
):$request->getEnv('some_data');
要回傳多個
$_ENV
值的陣列,請將所有的需要的鍵值以陣列傳遞。$require->getEnv(['CI_ENVIRONMENT', 'S3_BUCKET']);
-
setGlobal
($method, $value)¶ 參數: - $method (string) – 方法名稱
- $value (mixed) – 需要被加入的資料
傳回: HTTP 請求方法
傳回型態: Request
允許手動設定 PHP 全域的值,如 $_GET、$_POST 等。
-