Zend FrameworkのHTTPリクエストオブジェクト
開発から遠ざかっていたので、久々の投稿になりますが、今回は新たにZend Frameworkを使って開発することになりました。いきなりマニュアルを読むのは退屈なので、まずは、
を読み、後ほどプログラマ向けリファレンスガイドを読むことにしました。
そこで、HTTPリクエストオブジェクトでいきなり躓いたので、メモしておきます。上記の書籍によれば、HTTPリクエストオブジェクトでは、
$_GET / $_POST
は使わず、それぞれ
getQuery() / getPost()
を使うルールことになっているそうなのだが、実際に、
$request = $this->getRequest();
$foo = $request->getQuery(’foo’);
として、
http://www.example.com/index/index/foo/1/bar/1
にアクセスしても、データは取得できませんでした。もちろん、
http://www.example.com/index/index?foo=1&bar=1
にアクセスすれば、データは取得できます。やむを得ず、
$foo = $this->_getParam(’foo’);
$bar = $this->_getParam(’bar’);
としてひとまず無事解決しました。(ちなみに面倒だったので、Postは試していません。今回はGetのみです。ごめんなさい。)そこで、いろいろと実験してみてわかったのは、以下の通りです。
これはNG
$foo = $_GET[’foo’];
これらはOK
$request = $this->getRequest();
$foo = $request->getParam(’foo’);
// あるいは
$foo = $this->_getParam(’foo’);
Filed under: プログラミング, Webフレームワーク | No Comments »

