Autor Beitrag
Heiko
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Di 03.07.07 20:00 
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 ;).

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


Weiß einer vo euch, wie das ging?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 03.07.07 20:04 
Ich hab es bei mir so "am Laufen":
ausblenden 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.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Di 03.07.07 20:08 
Ok danke,

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

ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1077
Erhaltene Danke: 1

Ubuntu Dapper

BeitragVerfasst: 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..

_________________
Klein, schwarz und ärgert Techniker? Jumper!