AllesMeins: Objekt von "zufälliger" Klasse erzeugen

Hiho,

folgendes Problem. Die Benutzer sollen im Rahmen eines größeren Spiels ein zufälliges Mini-Spiel präsentiert bekommen. Hierzu ermittele ich per Zufall welches Spiel gespielt werden soll und möchte nun zu dem Spiel ein Objekt der passenden Klasse erzeugen. Das ganze ließe sich in etwa so lösen

$a = mt_rand(0,10);

switch($a){
case '1':
$obj =& new Spiel_1();
break;
case '2':
$obj =& new Spiel_2();
break;
[...]
}

Nun die Frage, gibt es da nicht irgend eine elegantere Möglichkeit?

Grüße

Marc

  1. Hallo Marc,

    Nun die Frage, gibt es da nicht irgend eine elegantere Möglichkeit?

    Ja. Du kannst Klassennamen auch in Variablen packen:

    class Foo {  
      function hallo() { echo "Hallo Welt!\n"; }  
    }  
    $klassenname = 'Foo';  
    $objekt = new $klassenname;  
    $objekt->hallo();
    

    Viele Grüße,
    Christian

    --
    "I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup