frankx: Frage zu Zend_Form und echo "new Zend_Form()"

Beitrag lesen

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ß,

frankx

--
tryin to multitain  - Globus = Planet != Welt