Extending PEAR::DB (static constructor issue?)

From: Date: Thu, 09 Mar 2006 23:16:42 +0000
Subject: Extending PEAR::DB (static constructor issue?)
Groups: php.pear.general 
Request: Send a blank email to pear-general+get-23253@lists.php.net to get a copy of this message
So... I'm trying to extend PEAR::DB. It'd be great to keep everything it offers and just add a few more perhaps unconventional functions. Intuitively, it seemed like this approach might work: <?PHP require_once("DB.php"); # Toy Extension of DB Class class DBToyExt extends DB { var $foo = 1; var $bar = 2; function testext($x) { echo "\nHEY: $x"; } } $dte = DBToyExt::connect("mysql://weston_tssa:******@localhost/weston_tssa"); $dte->testext('testing'); # Error happens here $dte->testext($dte->moo); $dte->testext($dte->bar); ?> However, it doesn't seem to understand that the method "testext" exists, and gives me a fatal error to that effect, as you can see: http://weston.canncentral.org/web_lab/mlib/DBToyExt.php I'm guessing this is a side effect of the static constructor -- apparently using the "extends" keyword is enough to help the engine know that the class DBToyExt is supposed to inherit the static function "connct", but it's not enough to bless the return value of connect from the class DB to DBToyExt.... How do I get around this and extend PEAR::DB? Thanks, Weston

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