Hellihello,
in meinem Beispielcode erzeugt der IndexController
public function indexAction()
{
$form = $this->getCommentForm();
if ($this->getRequest()->isPost()) {
if ($form->isValid($_POST)) {
$comment = $form->getValue('comment');
$this->view->comment = $comment;
}
}
$this->view->form = $form;
}
/**
* This function returns a simple form for adding a comment
*/
public function getCommentForm()
{
$form = new Zend_Form(array(
'method' => 'post',
'elements' => array(
'comment' => array('textarea', array(
'required' => true,
'label' => 'Please Comment:'
)),
'submit' => array('submit', array(
'label' => 'Add Comment'
))
),
));
return $form;
}
also eine Instanz eine Zend_Form Objektes. In der view index.phtml wird diese Form schlicht mit
<?= $this->form; ?>
ausgegeben. PHPs short_open_tags sind mir geläufig. Warum aber gibt das echo einer Objektinstanz einen Formularquelltext wieder? Gibt es in PHP ein toString-Methode, wie sie mir wohl schon bei Javascript untergekommen ist? Aber es gibt ja kein Prototyping...; irgendwie riechts nach Holzweg. Ein var_dump des $this->form bringt Unmengen an Code.
Dank und Gruß,