[PHP] Szablony - sprawy techniczne

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
WebCM
Nowy
Nowy
Posty: 31
Rejestracja: sob wrz 10, 2005 6:57 pm

[PHP] Szablony - sprawy techniczne

Post autor: WebCM »

Prawdopodobnie utworzę prosty system szablonów. Założenia:
- zmienne - {title}, {date}...
- instrukcje warunkowe - używając atrybutów - <div id="ocena">Ocena: {ocena}</div> lub podobnie*
- pętle - <div id="nazwapetli">...</div> lub: <for id="nazwapetli"></for>

1. Aby móc obrabiać szablon przy pomocy funkcji DOM, muszę go wczytać przy ich pomocy, czy wystarczy file_get_contents() lub include() z buforowaniem? W drugim przypadku pewnie trzeba przekazać cały szablon do obiektu pliku XML?

2. Pętle będą działać na innej zasadzie - takiej, aby obrobiony fragment szablonu wysyłać do przeglądarki przy każdej iteracji.

Kod: Zaznacz cały

foreach($result as $var) { ... $szablon -> ... echo ... }
W jaki sposób wyciągać fragment z CACHE? Czy tworzenie funkcji nazwapetli() w "skompilowanym" szablonie i wywoływanie jej przy każdej iteracji jest dobrym rozwiązaniem? Jeśli nie, co proponujecie?

PS. Co myślicie o powyższej koncepcji (mieszanina XT i OPT)? XT opiera się głównie na XML i CSS, zaś OPT jest podobne do Smarty (choć obsługuje składnię XML). Pobrałem niedawno XT z CACHE, lecz w przykładzie jest jakiś błąd i wywala "eval() parse error" (eval() raczej nie jest wydajnym rozwiązaniem, już pewnie lepiej użyć buforowania wyjścia, jak jest potrzeba przechwycenia zawartości). Ewentualnie mogę zoptymalizować i poprawić XT bądź OPT.

PS2. Co do wstawiania kodu PHP (co dla niektórych jest ważne) - można to zrobić w skompilowanych szablonach. :) Ewentualnie umożliwię to też w .tpl.
ODPOWIEDZ