DB_DataObject Can getLink() return child class of DB_DataObject
| From: | Ben Ford | Date: | Thu, 31 Mar 2005 22:55:24 +0000 |
| Subject: | DB_DataObject Can getLink() return child class of DB_DataObject | ||
| Groups: | php.pear.general | ||
| Request: | Send a blank email to pear-general+get-18445@lists.php.net to get a copy of this message | ||
Is there an existing way to have getlink() return a child class of DB_DataObject?
I was going to extend the getLink() to allow this but wanted some feedback first.
Also, is there a better way to do this?
ie.
require_once 'DataObjects/Odb_item_line.php';
class ODBItemLine extends DataObjects_Odb_item_line {
public function getDescription()
{
$item = $this->getLink('odbItemId'); //returns wrong type!
return $item->toString(); //WILL NOT WORK!!} } require_once 'DataObjects/Odb_item.php'; class ODBItem extends DataObjects_Odb_item { /** @return string String representation of item. * This can change based on various properties. */ public function toString() { //Fancy logic to calculate the name goes here... return $itemName; } } One way around this: Put my extended code directly into the Auto-Generated class. But this ties my class names to closely to the table names. I like the extra degree of space I get when extending each class myself. I would also have to use the factory method of instantiation which for some reason I was trying to avoid... Thanks in advance. -Ben Ford