Zend_Form を試す(頓挫した)

Zend Framework 1.5 になってから、Zend_Layout と共に新たに追加された Zend_Form を試してみる。
Html_QuickForm みたいであんまり好きな感じじゃないけど。
# 昔仕事でHtml_QuickFormで苦労した。使いこなせたら便利なんだろうけど使いこなせなかった。
例によって Smarty との連携を目指す。


まずはマニュアルにある通りに書いてみた。

<?php
require_once 'Zend/Form.php';
$form = new Zend_Form;
$form->setAction('/admin/confirm')
        ->setMethod('post');
$form->addElement('text', 'username');
echo $form->render($this->_view);

結果

Fatal error: Call to undefined method Smarty_View::formText() in /library/Zend/Form/Decorator/ViewHelper.php on line 247

あらら・・。


エラーの該当箇所のソースを見てみる。

<?php
$helper    = $this->getHelper();
$separator = $this->getSeparator();
$value     = $this->getValue($element);
$elementContent = $view->$helper($this->getName(), $value, $this->getElementAttribs(), $element->options);

ドキュメントにある Zend_Smarty_View() にはヘルパー関数を取得したり設定する方法がないからか。。。


ドキュメントの Zend_Smarty_View と連携させるのは難しい。
やるのならZend_View_Abstract を継承した独自の Smarty_View を作るのが良さそう。


差し迫って使う事はないので、気が向いたらいじろう・・。
あ、言うまでもなく Zend_View ではちゃんと動作した。