
Niech każda strona serwisu będzie oparta na szablonie:
layoutTop(); //Tutaj CSS i JS layoutMid($pageTitle); //Tutaj treść stronki layoutBot();
layoutTop(), layoutMid() oraz layoutBot() to zdefiniowane w innym pliku funkcje wyświetlające HTMLa
Wszystko byłoby proste gdyby ten wyświetlany HTML był niezmienny.
On jednak zależy od tego jakie argumenty w ową funkcję wstawimy.
Np funkcja layoutMid($pageTitle) wygląda następująco:
function layoutMid($pageTitle){ }
Do tej pory te przykładowe 3 funkcje były zdefiniowane w pliku .php. Zaistniała jednak konieczność dodania możliwości modyfikacji ich z poziomu strony.
I tak jak wcześniej mówiłem gdyby nie to że w dużej mierze wyświetlany HTML jest uzależniony od przekazanych argumentów (w rzeczywistości jest ich dużo więcej, a funkcje zawierają instrukcje warunkowe itp...) to wrzuciło by się do bazy odpowiedni tekst i po sprawie. Tu jednak jak wiadomo samo to nie wystarczy.
Myślałem o rozwiązaniu tego na zasadzie preg_replace.
Do bazy zapisywało by się np:
a funkcja layoutMid przez preg_replace zamieniałaby [:::TITLE:::] na to co otrzymałaby w $pageTitle.
Rozwiązanie to jednak wydaje mi się raz że dość toporne, 2 że w funkcjach są też instrukcje warunkowe i samo preg_replace już by nie wystarczyło.
Nie chce też od nowa koła wynajdywać, tylko zmodyfikować co mi do modyfikacji było dane najmniejszym nakładem pracy.
Wdzięczny będę więc za wszelakie hasła pod którymi rozwiązania problemu mam szukać, bądź naprowadzenie na jakąś technologię która mi w tym pomoże.