Daniel (nun registriert): Dynamisch Funktion aufrufen?

Hallo,

ist es möglich eine Funktion folgendermaßen aufzurufen:
$func="test";
//statt test(); soll nun praktisch $func".();"; aufgerufen werden
gibt es dafür eine möglichkeit?

evtl. gibt es auch einen anderen weg, mein ziel ist folgendes:
bei einem templatesystem soll der string "function(parameter1,parameter2,parameterx)" durch den entsprechenden rückgabewert der funktion ersetzt werden - aber wie?
das einzige was ich wüsste, wäre ein array mit funktionsnamen und ein array, das die entsprechenden funktionen aufruft und somit bereits die rückgabewerte enthält, bsp:

$funktionsnamen = array ("test1()");
$funktionsruckgabe = array ("".test1()."");
$string=preg_replace($funktionsnamen,$funktionsruckgabe,$string);

Aber dann müsste ich jede Funktion die ich einem Template hinzufüge auch dem Array hinzufügen und dynamisch Parameter nutzen kann ich auch nicht.

Schonmal vielen Dank!

  1. hi,

    ist es möglich eine Funktion folgendermaßen aufzurufen:
    $func="test";
    //statt test(); soll nun praktisch $func".();"; aufgerufen werden
    gibt es dafür eine möglichkeit?

    Variablenfunktionen

    evtl. gibt es auch einen anderen weg, mein ziel ist folgendes:
    bei einem templatesystem soll der string "function(parameter1,parameter2,parameterx)" durch den entsprechenden rückgabewert der funktion ersetzt werden - aber wie?

    Schau dir mal call_user_func() an, das dürfte - ggf. noch in Kombination mit function_exists() - der sauberere Weg für dein Vorhaben sein.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Vielen Dank euch beiden, und ja, ich habe zuvor die Suche auf php.net genutzt und mal nach call gesucht (in der function list), da ich mir schon gedacht habe, dass wenn es so etwas gibt, die funktion wohl so (ähnlich) heißen wird - hier wird call_user_func() aber nicht bei den resultaten aufgeführt - warum?