phpbar.de logo

Mailinglisten-Archive

[php] Constructor

[php] Constructor

Christoph Rust info at webmaster-rust.de
Fre Sep 10 15:56:04 CEST 2004


Hallo Liste!

Gibt es in PHP 5 die Möglichkeit, eine Objektinstanz ohne new Foo() 
zuerzeugen?
Problembeschreibung:

Ich bekomme aus einer Datenbank Einträge über Klassen, die ich dynamisch 
erzeugen will.

Beispiel:

<Code>

for ($i = 0; $i < count($classes); $i++){
    new $classes[$i];
}

</Code>

Ich weiß zwar, das dies mit der Funktion eval() möglich ist, find es 
aber sehr unsauber.

<Code>

for ($i = 0; $i < count($classes); $i++){
    eval("new ".$classes[$i]."();");
}

</Code>

Gibt es noch eine andere Möglichkeit?
Hab da schon an call_user_func() gedacht, aber man kennt ja nicht immer 
den Constructornamen.

Beispiel:

<Code>

for ($i = 0; $i < count($classes); $i++){
    call_user_func(array($classes[$i],"__construct"); // bzw. 
call_user_func(array($classes[$i],$classes[$i]));
}

</Code>

Danke im Vorraus!



php::bar PHP Wiki   -   Listenarchive