So, ich wollte mal um in PHP nicht einzurosten eine kleine Template-Engine schreiben.
Nun habe ich jedoch folgendes Problem.
Die Syntax sieht folgendermaßen aus.
/**
* Template-Code:
*
* Simple If-Clause:
* Code
*
* Extendet If-Clause:
* Code
* Code
*
* If-Clause with brackets:
* Code
* Code
*
* Else-If-Clause:
* Code Code
*
* Else-Clause:
* Code Code
*/
Alles anzeigen
Im Template eingebaut erhalten wir folgendes.
Test ist da.
Test und Test2 sind da.
Test oder test 2 sind da.
Test und Test2 oder Test3 und Test4 sind da.
Gaga ist da. Gugu ist da. Gaga und Gugu sind nicht da ;-(
Alles anzeigen
Nun stelle ich mir jedoch die Frage, wie ich das interpretieren soll.
Bisher bin ich soweit, dass ich die Codes z.B. wie folgt habe.
ZitatAlles anzeigenarray(3) {
[0]=>
string(16) ""
[1]=>
string(2) "IF"
[2]=>
string(5) " Test"
}
Es dreht sich also nur darum [2] entsprechend auszuwerten.
Bei solch einem einfachen Code ist das kein Problem, aber gehen wir einmal davon aus wir hätten folgendes.
Zitat(Ausdruck AND Ausdruck2) OR (Ausdruck3 AND Ausdruck4)
Wie macht es eurer Meinung nach am meisten Sinn das auszuwerten ??
Ich meine jetzt, wie würdet ihr vorgehen?
Zuerst alle Ausdrücke raussuchen und überprüfen und dann erst die Reihe abtasten?
Das ganze Ausdruck für Ausdruck durchkämmen?
... ?
Noch kurz zur Info: Ausdruck soll ein einfache Schlüssel sein, wenn er in einem Array existiert ist es true, sonst false.