Je wilt die eval niet hebben, probeer zo min mogelijk gebruik te maken van eval. Je kunt kijken hoe bijvoorbeeld [google]smarty[/google] wel dit doet.
Smarty gebruikt eval/include. Het zet het template om naar PHP-code (zoals bijna alle template parsers) en eval'ed het dan.
?
Onbekende gebruiker
03-05-2009 22:37
Richard van Velzen schreef op 03.05.2009 22:28
[quote='Karl schreef op 03.05.2009 21:23']Je wilt die eval niet hebben, probeer zo min mogelijk gebruik te maken van eval. Je kunt kijken hoe bijvoorbeeld [google]smarty[/google] wel dit doet.
Smarty gebruikt eval/include. Het zet het template om naar PHP-code (zoals bijna alle template parsers) en eval'ed het dan.[/quote]
Ah, bah, dus toch wel. Ik wist dat die het omzet in "normale" php code, dus dacht ik dat opzich dat wel een voorbeeld kon zijn, maar dat ie het evalt wist ik niet.
Wat je nu kan doen is een tpl bestand inladen.
$tpl = file_get_contents('pad/naar/bestand.tpl');
daarna kan je de functie t() er over heen laten gaan
$tpl = t($tpl);
En dan word dit: {t{variable_naam}} in het tpl bestand
vervangen met globale array $t.
Een erg simpel systeem voor het gebruik voor meerdere talen.