Hatena::ブログ(Diary)

webネタ

2011-03-30

ZendFrameworkでGETやPOSTなど、様々なパラメータを取得する方法

ZendFrameworkで基本の、アクションでGETやPOSTなどを取得する方法のまとめメモ。

GETパラメータを取得する場合

通常の場合

$value = $_GET['test'];

ZendFrameworkの場合

$this->_request->getQuery('token');

$this->_requestは、Zend_Controller_Request_Httpです。

$this->_requestは、$this->getRequest()でもokです。

POSTパラメータを取得する場合

通常の場合

$value = $_POST['test'];

ZendFrameworkの場合

$this->_request->getPost('token');

環境変数を取得する場合

通常の場合

$value = $_SERVER['REQUEST_URI'];

ZendFrameworkの場合

$this->_request->getServer('REQUEST_URI');

クッキーを取得する場合

通常の場合

$value = $_COOKIE['SID'];

ZendFrameworkの場合

$this->_request->getCookie('SID');

HTTPメソッドの判定

GETかどうか
$this->_request->isGet();
POSTかどうか
$this->_request->isPost();
PUTかどうか
$this->_request->isPut();
DELTETEかどうか
$this->_request->isDelete();
HEADかどうか
$this->_request->isHead();
OPTIONかどうか
$this->_request->isOptions();

特殊なアクセスの判定

Ajaxからか
$this->_request->isXmlHttpRequest();
Flashからか
$this->_request->isFlashRequest();
SSLからか
$this->_request->isSecure();

クライアントIPアドレス取得

$this->_request->getClientIp();

ロードバランサーを経由している場合でも、実際のIPが取得できる。

$_SERVER['HTTP_X_FORWARDED_FOR']と$_SERVER['HTTP_CLIENT_IP']があるか調べてくれる。

なければ$_SERVER['REMOTE_ADDR']を返す。

トラックバック - http://d.hatena.ne.jp/R-H/20110330/1301489331