Marc Reichelt: Klasseninstanz mit Parametern aus Array

Beitrag lesen

Hallo Till,

so wie ich das ganze jetzt verstanden habe glaube ich nicht, dass dein Vorhaben so wie du es willst realisierbar ist - zumindest nicht mit call_user_func() oder dem von Patrick vorgeschlagenen call_user_method().

Aber vielleicht geht es doch mit der eval-Methode, ich glaube sogar dass dein bisheriger Aufruf falsch war:

$bar = new foo(eval(implode(', ', $foo)));
Das sollte dann folgendermaßen ausgeführt werden:
$bar = new foo(bar, foobar)));

Eine richtige Ausführung der Variablen aber geht eigentlich so:
$bar = new foo($bar, $foobar)));

D.h. du musst dein Array so definieren (oder nachträglich ändern), dass es das Variablenzeichen $ vor dem Namen der Variable hat - also etwa so:
$foo = array("$bar", "$foobar");

Vielleicht konnte deshalb die Methode nicht ausgeführt werden?

Und wenn es damit nicht klappt, versuch doch mal den kompletten Methodenaufruf in einen (dynamisch generierten) String zu stecken - ich bin mir sicher dass es dann funktionieren sollte!

Grüße

Marc Reichelt || http://www.marcreichelt.de/

--
Linux is like a wigwam - no windows, no gates and an Apache inside!
SELFCode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
http://emmanuel.dammerer.at/selfcode.html