Mailinglisten-Archive |
Hallo, ich habe in einem Projekt zahlreiche Klassen. Innerhalb einer Klasse muss ich auch oft auf Methoden von anderen Klassen zugreifen, was ja nichts außergewöhnliches ist. Wie sollte man das aber umsetzen? Zunächst hatte ich folgendes: $Db = new DB; class Bar { function Foo ( ) { global $Db; $Db->query(....); } function FooBar ( ) { global $Db; $Db->query(....); } } $Foo = new Foo; Jetzt habe ich es folgendermaßen: $Db = new DB; class Foo { var $Db; // constructor function Foo ( ) { global $Db; this->Db =& $Db; } function Bar () { $this->Db->query( ) } } $Foo = new Foo; also die PEAR::DB-Klasse im Objekt über $this->Db verfügbar machen. Das Problem ist natürlich bei Methoden, die statisch aufgerufen werden können, dass dann $this->Db nicht verfügbar ist und ich dann doch wieder zur alten Programmierung wechseln muss. Wie macht ihr das? Mfg, Steffen
php::bar PHP Wiki - Listenarchive