DB_DataObject_FormBuilder: how to override processForm() method

From: Date: Wed, 10 Nov 2004 14:38:51 +0000
Subject: DB_DataObject_FormBuilder: how to override processForm() method
Groups: php.pear.general 
Request: Send a blank email to pear-general+get-15418@lists.php.net to get a copy of this message
In order to insert a new record in a table with natural primary key, I try overriding processForm() method, like suggested by documentation: <?php // vim: set filetype=php ai ts=4 sw=4 et fdm=marker : require_once 'DB/DataObject/FormBuilder.php' ; class MyDBOF extends DB_DataObject_FormBuilder {
    function MyDBOF(&$do, $options = false)
    {
        $this->debug("<br>...run MyDBOF class by GG...<br>");
        parent::DB_DataObject_FormBuilder($do);
    }
    function processForm($values)
    {
        $this->debug("<br>...run processForm() by GG...<br>");
... my stuffs...
    }
} $do = DB_DataObject::factory($_POST['object']); $formBuilder = MyDBOF::create($do); $form = $formBuilder->getForm(); if ($form->validate()) {
    $form->process(array(&$formBuilder, 'processForm'), false);
    $form->freeze();
} echo $form->toHtml(); ?> The code continues running processForm() from DB_DataObject_FormBuilder parent class instead the method written by my. Any suggestions? Thanx in advance, G

« previous php.pear.general (#15418) next »