Hello,
Die Funktion $_css wird definiert, die Überprüfung wird ausgeführt, falls ein Fehler vorliegt wird die $_css entsprechend "ergänzt".
$_css ist nur ein Array, das mit dem CSS-Quark gefüllt wird.
Die Ausgabe der CSS-Definition muss ich ja im header machen und da es das Formular betrifft und ich dieses erst am Ende der else-Klausel include (hmm..das änder ich noch zu require), kann ich in der formular.php die CSS-Definition folgendermassen im header ausgeben (header zur Darstellung gekürzt):
<head><?php echo make_css($_css);?></head>
korrekt!
Also funktionieren tuts, aber ich bin mir nicht sicher ob Du das so gemeint hast. Ists richtig?
Doch, so ähnlich habe ich das gemeint.
Im Prinzip wäre es schöner, wenn im HTML-Formular keinerlei Funktionen mehr stehen müssten, sondern nur noch Ausgaben von fertigen Variablen, aber dann müsstest Du den Kontrollfluss nochmal ändern, da ja bis zur letzten Zeile noch Änderungen am CSS-Array stattfinden könnten.
Das hat damit zu tun, dass sich für den weiteren Schritt zum absolut passiven Template Funktionen nur schlecht mit Replace oder regular Expressions ersetzen lassen. Aber das ist ja noch Zukunftsmusik...
Ich würde es daher erstmal so lassen.
Wenn Du die Sache weiterentwickelst fürs nächste Projekt, dann machst Du es ja vielleicht schon objektorientiert und da sieht es dann schon wieder ganz anders aus. Da könnte der ganze Schlunz, an den Du hier noch selber denken musst, dann schon automatisch erfolgen...
Jedenfalls bist Du der Erste, den ich hier seit ca. acht Jahren im Forum kennengelernt habe, der das so in einem Thread von "schaut doch mal bitte" bis zum echten dreigeteilten Konzept geschafft hat.
Hochachtung!
(ich habe selber erheblich länger dafür gebraucht, die Zusammenhänge zu verstehen)
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg