リクエストクラス
リクエストクラスは、HTTPリクエストをオブジェクト指向で表現したものです。これは、ブラウザからアプリケーションへのリクエストなどの受信リクエストと、アプリケーションからサードパーティアプリケーションへのリクエストの送信に使用されるような送信リクエストの両方に対応するように設計されています。
このクラスは両方に必要な共通機能を提供しますが、どちらの場合も、Requestクラスを拡張して特定の機能を追加するカスタムクラスがあります。実際には、これらのクラスを使用する必要があります。
詳細な使用法については、IncomingRequestクラスおよびCURLRequestクラスのドキュメントを参照してください。
クラスリファレンス
- class CodeIgniter\HTTP\Request
- getIPAddress()
- 戻り値:
ユーザーのIPアドレス。検出可能な場合。IPアドレスが有効なIPアドレスでない場合は、
0.0.0.0
が返されます。- 戻り値の型:
string
現在のユーザーのIPアドレスを返します。IPアドレスが有効でない場合、このメソッドは
0.0.0.0
を返します。<?php echo $request->getIPAddress();
重要
このメソッドは、
Config\App::$proxyIPs
の設定を考慮し、許可されたIPアドレスのHTTPヘッダーによって報告されたクライアントIPアドレスを返します。
- isValidIP($ip[, $which = ''])
バージョン 4.0.5 から非推奨: 代わりにバリデーションを使用してください。
重要
このメソッドは非推奨です。将来のリリースで削除されます。
- パラメーター:
$ip (
string
) – IPアドレス$which (
string
) – IPプロトコル(ipv4
またはipv6
)
- 戻り値:
アドレスが有効な場合はtrue、そうでない場合はfalse
- 戻り値の型:
bool
IPアドレスを入力として受け取り、有効かどうかによってtrueまたはfalse(boolean)を返します。
注
上記の$request->getIPAddress()メソッドは、IPアドレスを自動的に検証します。
<?php if (! $request->isValidIP($ip)) { echo 'Not Valid'; } else { echo 'Valid'; }
オプションの2番目の文字列パラメーターとして、IP形式を指定する
ipv4
またはipv6
を受け入れます。デフォルトでは、両方の形式がチェックされます。
- getMethod([$upper = false])
重要
$upper
パラメーターの使用は非推奨です。将来のリリースで削除されます。- パラメーター:
$upper (
bool
) – リクエストメソッド名を大文字または小文字で返すかどうか
- 戻り値:
HTTPリクエストメソッド
- 戻り値の型:
string
大文字または小文字で設定するオプション付きで、
$_SERVER['REQUEST_METHOD']
を返します。<?php echo $request->getMethod(true); // Outputs: POST echo $request->getMethod(false); // Outputs: post echo $request->getMethod(); // Outputs: post
- setMethod($method)
バージョン 4.0.5 から非推奨: 代わりに
CodeIgniter\HTTP\Request::withMethod()
を使用してください。- パラメーター:
$method (
string
) – リクエストメソッドを設定します。リクエストのスプーフィング時に使用されます。
- 戻り値:
このリクエスト
- 戻り値の型:
- withMethod($method)
バージョン 4.0.5 で新規追加。
- パラメーター:
$method (
string
) – リクエストメソッドを設定します。
- 戻り値:
新しいリクエストインスタンス
- 戻り値の型:
- getServer([$index = null[, $filter = null[, $flags = null]]])
- パラメーター:
- 戻り値:
$_SERVER
で見つかった項目の値。見つからない場合はnull- 戻り値の型:
mixed
このメソッドは、IncomingRequestクラスの
getPost()
、getGet()
、およびgetCookie()
メソッドと同じで、サーバーデータ($_SERVER
)を取得する点が異なります。<?php $request->getServer('some_data');
複数の
$_SERVER
値の配列を返すには、必要なすべてのキーを配列として渡します。<?php $request->getServer(['SERVER_PROTOCOL', 'REQUEST_URI']);
- getEnv([$index = null[, $filter = null[, $flags = null]]])
バージョン 4.4.4 で非推奨: このメソッドは当初から機能していません。
env()
を代わりに使用してください。- パラメーター:
- 戻り値:
$_ENV
の値が存在する場合はその値を、存在しない場合は null を返します。- 戻り値の型:
mixed
このメソッドは、IncomingRequest クラスの
getPost()
、getGet()
、getCookie()
メソッドと同じで、環境データ ($_ENV
) を取得する点が異なります。<?php $request->getEnv('some_data');
複数の
$_ENV
の値を配列で返すには、必要なキーをすべて配列として渡します。<?php $request->getEnv(['CI_ENVIRONMENT', 'S3_BUCKET']);
- setGlobal($method, $value)
- パラメーター:
$method (
string
) – メソッド名$value (
mixed
) – 追加するデータ
- 戻り値:
このリクエスト
- 戻り値の型:
$_GET
、$_POST
などの PHP グローバルの値を手動で設定できます。
- fetchGlobal($method[, $index = null[, $filter = null[, $flags = null]]])
- パラメーター:
- 戻り値の型:
mixed
クッキー、GET、POST などのグローバル変数から1つまたは複数のアイテムを取得します。オプションで、フィルターを渡して、取得時に入力をフィルタリングできます。