Zend_ControllerとRequestクラス

Actionコントローラーの中で、

$this->getRequest()

と書くと、リクエストオブジェクトが取得できる。


$_POST、$_GETの情報も、Controller名、Action名もこの中。


$this->getRequest()->getPost();

$this->getRequest()->getQuery();

$this->getRequest()->getControllerName();

$this->getRequest()->getActionName();


$_GETは、ちょっとメソッド名がイメージしづらいけど、ここは覚えるのみ。

getPost()、getQuery()は、パラメタにキーを渡すと、キーに対応する値を取得してくれる。


それ以外にも、setParam($key, $value)で、リクエストオブジェクトに値を設定可能。

これは、いつでもgetParam($key)で取得可能。

getParam()だと、$_POST、$_GETのパラメタも取得可能ですが、

getUserParam()だと、setParam()で設定した値のみが取得可能。

ここは使い分けた方が、プログラムの可読性が増すかなと思います。


あと、発見だったのが、Zendでは、

http://test.com/controller名/Action名/key/value/ 【1】

というようにパラメタを渡せます。

http://test.com/controller名/Action名/?key=value 【2】

としても渡せます。


この場合、【1】の場合は、keyはsetParamで設定したものと同じように扱われおり、

【2】の場合は、$_GETに設定されています。

パラメタの記述方法で、保存される場所が変わるので、気をつける必要があります。


次回は、便利だなと思った。Zend_Config_Iniについて書こうかなと思います。


今回書いたことは大体、ZendFrameworkのドキュメントに書いてあります。

ドキュメントは、こちらです。