Stephan: Objektorientierung

Hallo zusammen,

ich versuche gerade in die Objektorientierung von PHP einzusteigen, da ich denke dass man damit sehr viel "besseren" und einfacheren code schreiben kann.

Leider hab ich damit ein paar einstiegsschwierigkeiten. Und zwar möchte ich ein paar Klassen schreiben die alle auf die gleiche Datenbankverbindung zugreifen. Ich möchte die PEAR DB Klasse für die Datenbankverbindung benutzen.

Jetzt hab ich folgende Beobachtung gemacht: Ich habe ein config script geschrieben dass die DB.php inkludiert, eine dsn erstellt und auch eine Instanz von der db klasse erstellt (damit ich nicht in jeder Klasse die Zugangsdaten und die DB-Connection verwalten muss). Dieses Skript inkludiere ich aus den Files in denen die Klassen stehen. Leider kann ich aber jetzt aus den Klassen nicht auf die Datenbankverbindung zugreifen, ich vermute mal sie ist in einem anderen namespace. Bisher hab ich sehr viel mit funktionen gearbeitet, dort hab ich für solche fälle die global syntax benutzt. Das funktioniert aber wohl bei Klassen nicht.

Wie kann ich es lösen dass ich die Datenbankverbindung nicht überall pflegen muss, sondern an einer zentralen stelle habe?

Gruß aus Bayern
Stephan

  1. Hi,

    du must die Klassen vererben:

    class function extends mysql {

    }

    dann kannst du auch in der class function die class mysql benutzen.

    Gruß,

    Chris