Klassen mit variablen Variablen?

Kipperlenny

Erfahrenes Mitglied
Kann ich z.B. sowas machen?

PHP:
class bauten {
	var $id;
	var $name;
        // $data = felder einer Tabelle aus einer DB;
        foreach($data as $key=>$value) {
                 var $value;
        }

 function bla (...) {
  ....
 }

...
...
...
}

Sinn des ganzen ist es, dass ich nicht weiß welche Vars meine Klassen haben wird - da diese in einer Datenbank geändert werden können (dass zum Beispiel neue Rohstoffe in der Datenbank sind und die Gebäude - die in dieser Klasse festgelegt werden - nun auch diese brauchen können).

Sinnfreier Text, schwierig zu erklären - aber ich hoffe mal, dass ihr an meinem Code merkt was ich will.
 
Außerhalb von Methoden sind Schleifen nicht möglich. Du könntest in deinem Konstruktor die Daten aus der Datenbank laden (das kannst du auch nur innerhalb einer Methode) und dann in eine zuvor definierte klasseninterne Variable (Typ: Array) speichern. So in etwa:
PHP:
<?php
class bauten {
    var $id;
    var $name;
    var $data = array();
    
    // Konstruktor (in PHP 4 gleicher Name wie Klasse, in PHP 5 __construct)
    function bauten() {
        // $data = Daten aus Datenbank
        
        foreach($data as $value) {
            $this->data[] = $value;
        }    
    }
}
?>
 
Zurück