Curry
PHP Framework

core

db

html

utility

Request

クラス概要

POSTやGETを始めとするリクエスト情報を管理するクラスです。このクラスのインスタンスはコントローラーのgetRequestメソッドにより、得ることができます。

クラスファイル位置

curry/core/request.php

フィールド

公開されるフィールドはありません。

メソッド

メソッド名 アクセス 概要
getPost public POSTリクエストの情報を取得します。
これにより得られる値はスーパーグローバル変数である$_POSTより取得できるものと同様ですが、Curryでは$_POSTの直接の参照は推奨されませんので、このメソッドを利用してください。
またコントローラークラスでは、クラス変数である$this->postを参照する事によって、このメソッドを引数なしで呼び出した場合と同じ結果が得られます。
つまり、$this->request->getPost('hoge')と$this->post['hoge']はどちらも同じ値になります。
getQuery public $_GETリクエストの情報を取得します。
これにより得られる値はスーパーグローバル変数である$_GETより取得できるものと同様ですが、Curryでは$_GETの直接の参照は推奨されませんので、このメソッドを利用してください。
またコントローラークラスでは、クラス変数である$this->queryを参照する事によって、このメソッドを引数なしで呼び出した場合と同じ結果が得られます。
つまり、$this->request->getQuery('hoge')と$this->query['hoge']はどちらも同じ値になります。
getParams public Curryのルールに従う形でURLに含まれるパラメーター情報を取得します。
ドメイン以降のURLパスの第3セグメント以降がこのメソッドにより取得可能で、この場合は第3セグメントをキー"0"、第4セグメントをキー"1"・・・という形の配列で取得できます。
セグメント内に"="が含まれる場合、"="の前方がキー、後方が値の形で取得できます。
またrouting.iniにより、各セグメントのキーが設定されている場合は数値キーではなく、その設定キーにより取得できます。

コントローラークラスでは、クラス変数である$this->paramsを参照する事によって、このメソッドを引数なしで呼び出した場合と同じ結果が得られます。
つまり、$this->request->getParams('hoge')と$this->params['hoge']はどちらも同じ値になります。
getController public リクエストされたコントローラーキーを取得します。
これは通常はドメイン以降のURLパスの第1セグメントになります。
getAction public リクエストされたアクションキーを取得します。
これは通常はドメイン以降のURLパスの第2セグメントになります。
getControllerSubDirectory public コントローラー格納ディレクトリにサブディレクトリが存在する場合で、そのサブディレクトリ内のコントローラーへリクエストがあった場合にサブディレクトリのパスを、コントローラー格納ディレクトリをルートとした相対パスで取得します。
getBasePath public Web公開ルートディレクトリからindex.phpまでの相対パスを取得します。
これはmod_rewriteを利用する場合にRewriteBaseに設定したものと同じものになります。
getBaseUrl public サイトのトップURLを取得します。これはindex.phpの存在するディレクトリのURLです。
isXmlHttp public Ajaxによるリクエストかどうかを判定します。Ajaxによるリクエストの場合にはtrue、そうではない場合にはfalseが返ります。
getServer public スーパーグローバル変数、$_SERVERの値を取得します。
引数なしで$_SERVERの全てをそのまま返します。
引数にキーを指定することで、特定キーの値だけを取得することも可能です。
getEnv public スーパーグローバル変数、$_ENVの値を取得します。
引数なしで$_ENVの全てをそのまま返します。
引数にキーを指定することで、特定キーの値だけを取得することも可能です。
setAutoTrim public オートトリミングの有効・無効を設定します。
有効にすると、GETやPOSTの全てのキーのデータに対して自動的にtrimが実行されます。

※バージョン1.2.0以降
getIpAddress public アクセス元のIPアドレスを取得します。

※バージョン1.2.0以降
getHostname public アクセス元のリモートホスト名を取得します。

※バージョン1.2.0以降