Entwickler-Ecke

Programmiersprachen (Server) - PHP-Klasse bei String-Bezeichnung laden


Heiko - Di 03.07.07 20:00
Titel: PHP-Klasse bei String-Bezeichnung laden
Hallo,

ich will gerade eine Klasse bei seinem Stringnamen laden, ohne dabei eval zu nehmen. Ich weiß, dass das geht - nur ich kann es nicht mehr reproduzieren, wie ich es damals hinbekommen hatte ;).


Quelltext
1:
$test = new "modul_Test"();                    


Weiß einer vo euch, wie das ging?


Christian S. - Di 03.07.07 20:04

Ich hab es bei mir so "am Laufen":

Quelltext
1:
$foo = new $bar;                    

wobei $bar den Klassennamen als String enthält. Es könnte also reichen, dass Du einfach die Klammern hinter dem String weglässt. Ansonsten in eine temporäre Variable stopfen.


Heiko - Di 03.07.07 20:08

Ok danke,

an eine Zwischenvariable hatte ich nimmer gedacht (hatte es zuerst ohne Klammern probiert ;) ).


blackbirdXXX - Do 12.07.07 00:08

Joa. Die temporäre Variable is nötig, der PHP Parser kommt mit verketteten Konstrukten nicht zurecht. Man kann nichtmal foo()["blub"]->doSomething() machen..