Ciao,
sto sviluppando un micro Template Engine e ho difficolta a far esefuire le funzioni.
Il problema è nel passaggio degli argomenti.
Vi faccio un esempio:
ho questa stringa nella mia pagina template (estensione .tpl): §seiQui('',$categoria)§
per far in modo che il mio TE capisca che si tratta di una funzione eseguo questa operazione:
Codice PHP:
#$this_template = ... §seiQui('',$categoria)§ ...
preg_match_all("/§([^§]+)\)§/mi", $this_template, $res);
for ($i=0; $i< count($res[0]); $i++) {
$part_function = explode('(',$res[1][$i]);
$my_function = $part_function[0]($part_function[1]);
$this_template = str_replace($res[0][$i],$my_function,$this_template);
}
questo metodo è corretto per funzioni che hanno un solo argomento, se ho invece più argomenti mi dà giustamente questo errore:
Warning: Missing argument 2 for seiQui()
perchè, sebbene $part_function[1] abbia questo valore: 'arg1','arg2', la chiamata non è corretta perchè la virgola non viene interpretata come separatrice di argomenti...
Qualche consiglio?