phpbar.de logo

Mailinglisten-Archive

[php] In Objekt auf andere Objekte zugreifen

[php] In Objekt auf andere Objekte zugreifen

Steffen Gebert php-list at stg-design.de
Fre Okt 10 14:50:11 CEST 2003


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