Hallo liebe Mitprogrammierer,
ich habe ein Problem, welches zu dem Titel passt:
Ich arbeite an einem eigenen Template-Engine,
und möchte im Template nur einen Verweis auf ein Objekt haben:
<html>
...
<div><te>b1</te></div>
...
soll
function replaceRow($s)
echo $$s->process(); auslösen.
Dabei wird beim Parsen
replaceRow('b1') ;
aufgerufen.
Wie kann ich eine aus Stringparametern und Stringkonstanten gemischt
zusammengesetzte Funktion ihr return an echo liefern lassen?
Dankbar für jeden Tipp,
Ulrich
Änderung siehe hinter p.p.p.s...
p.s.: Mit "eval" habe ich es schon versucht, bekomme aber wegen mangelnder Dokumentation/Halbwissen um diese Funktion keine Lösung zustande!
p.p.s.: Bezügl. "eval": Ich bekomme die Syntax mit Methodenaufruf nicht hin ...leiderleider.
p.p.p.s.: Bitte um Verständnis, wenn die Frage trivial erscheint...mein Renommee habe ich eher aus meiner J2EE-Zeit ;-)
$command = '$'.$s.'->generate();';
call_user_func($command);
sollte eigentlich functionieren. Ich habe aber die .inc.php Klasse included (once). Das Include habe ich getestet, und es wird tatsächlich aufgerufen.
Aber meine "call_user_func" findet die Methode dennoch nicht!
Hilflos,
Ulrich
Weitere Bearbeitung:
Habe jetzt die Klasse mit copy&paste eingefügt: Kann vielleicht call_user_func keine Methoden aufrufen?
Gibt es eine Möglichkeit, das Objekt $b1 über den String "b1" anzusprechen?
Dann könnte ich wenigstens call_user_method benutzen...