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のドキュメントに書いてあります。
ドキュメントは、こちらです。

Zend_ControllerとRequestクラス