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