Kaito: Superglobale

Hallo,

mein Problem sieht folgendermassen aus:
Ich benutze ein Objekt $sql für meine Datenbankquerys, und einige andere Programmspezifische Objekte (z.B. $user).
nun möchte ich in Methoden der Userklasse gerne auf $sql zugreifen können, ohne dort über "global $sql" das erst zu ermöglichen.

Habe einiges probiert, gegoogelt, nichts gefunden.
wäre dankbar wenn jemand eine Lösung hat.

LG Kaito

  1. Hallo,

    übergebe die Objekte z. B. einer Konstrukermethode:

    class obj{  
       function obj($a,$b){  
          $this->sql =$a;  
          $this->user=$b;  
       }  
       function getuser(){  
          return($this->sql->query($this->user->id));  
       }  
    }  
    $a=new obj($sql,$user);  
    echo $a->sql->getuser();
    

    Gruß aus Berlin!
    eddi

    1. Hallo,

      sowas würde ich gerne Vermeiden, da könnte ich auch im Konstruktor die globale $sql reinladen und als Referenz in einer Eigenschaft speichern.

      LG Kaito

  2. echo $begrüßung;

    Ich benutze ein Objekt $sql für meine Datenbankquerys, und einige andere Programmspezifische Objekte (z.B. $user).
    nun möchte ich in Methoden der Userklasse gerne auf $sql zugreifen können, ohne dort über "global $sql" das erst zu ermöglichen.

    Statische Methodenaufrufe und das Singleton-Pattern fallen mir neben der von eddi schon genannten Möglichkeit der Übergabe im Konstruktor ein.

    echo "$verabschiedung $name";