phpbar.de logo

Mailinglisten-Archive

[php] In Objekt auf andere Objekte zugreifen

[php] In Objekt auf andere Objekte zugreifen

Lars Heuer heuer at quixs.com
Fre Okt 10 15:20:00 CEST 2003


Hallo Steffen,

> $Db = new DB;

> class Bar
> {
>   function Foo ( )
>   {
>     global $Db;
>     $Db->query(....);
>   }


Ich bevorzuge so etwas wie:

class MyDB {

      /**
       * Constructor.
       */
      function MyDB() {

      }

      /**
       * Returns an instance of this class.
       */
      function &getInstance() {

        $instance =& $GLOBALS['MyDBInstance'];

        if (!isset($instance) || get_class($instance) != 'MyDB') {

           $instance = new MyDB();
        }

        return $instance;
      }
}


So kann man immer in Methoden wo es nötig ist mit

$db =& MyDB::getInstance();

auf die Datenbank Klasse zurückgreifen.

Wenn Du PEAR benutzt, baust Du Dir halt einen kleinen Wrapper um die
PEAR DB Klasse, so daß Du die getInstance() Methode zur Verfügung
hast.


HTH,
Lars

-- 
quiXS!          | http://www.quixs.de
utopiXS!        | http://www.utopixs.de    | digitale Postkarten
phpSlash        | http://www.phpslash.org  | das bessere Weblog


php::bar PHP Wiki   -   Listenarchive