1UnitedPower: Verschachtelte Klassen

Beitrag lesen

Hakuna matata!

Mein Problem ist, dass ich einfach ein paar verschachtelte Klassen haben will.

Klassendefinitionen lassen sich in PHP nicht verschachteln, aber das möchtest du vermutlich auch garnicht ausdrücken. Du möchtest eine einfach ein paar hierarchische Daten in einer Variablen zusammenfassen. Als Datenstruktur bietet sich dafür eine verschachtelte Hashmap an und in PHP benutzt man dafür Arrays.

config
--MySQL
\  --$Datenbank
\  --$Benutzername
\  --$Passwort
--Admin
\  --Passwort

$config = array(  
   'mysql' => array(  
      'datenbank' => $datenbank,  
      'benutzername' => $benutzername,  
      'passwort' => $passwort,  
   ),  
   'admin' => array(  
      'passwort' => $adminPasswort  
   )  
);  

Und uugreifen kannst du darauf so: $config['mysql']['datenbank']

Du kannst die Arrays auch noch zu Objekten casten:

$config = (object)array(  
   'mysql' => (object)array(  
      'datenbank' => $datenbank,  
      'benutzername' => $benutzername,  
      'passwort' => $passwort,  
   ),  
   'admin' => (object)array(  
      'passwort' => $adminPasswort  
   )  
);  

Dann kannst in gewohnter Objekt-Zugriff-Syntax auf die Einträge zugreifen: $config->mysql->datenbank

--
“All right, then, I'll go to hell.” – Huck Finn