Instanz einer Klasse über deren Namen erzeugen

Marcel G

Mitglied
Hallo zusammen.
Ich hab eine kleines Problem mit einem Klassenloader. Die Datei soll dynamisch Klassen instanzieren und Methoden darin aufrufen.
Der Klassenname liegt als String vor, Parameter bau ich zusammen.

ich hab bisher folgendes:
PHP:
new $$className($constructorParameter);
dabei ist $className der Klassenname
und $constructorParameter die Parameter des Konstructors, z.B. '1,2,3'

leider bekommen ich eine Fehlermeldung
Fatal error: Class name must be a valid object or a string in XXX on line 49

Wie kann ich eine Klasse instanzieren, wenn ich nur den String hab, bzw. was hab ich da falsch gemacht?
 
Nimm nicht eval wo es nicht notwenig ist, einfach nur ein $ weg..
Eval kann eine gigantische Sicherheitslücke sein.....

PHP:
<?
class test {
 function __construct($check){
     echo " --- $check --- ";
 }
}

$string = 'test';

$class = new $string('testmich');
?>
 

Neue Beiträge

Zurück