Napisałem prostą klasę szablonu, która pobiera plik html przez file get contents, następnie wynajduje słowa np. {nazwa} i wstawia w nich treść przy pomocy str_replace. Nie wiem czy dobrze sobie to zorganizowałęm, ale np. dla modułu newsy całą zwaratość (dane newsów łącznie z ich wyglądem w html - wygląd też parsowany z pliku html wyglądu newsów) przerzuciłem do zmiennej $content, a następnie w pliku index.php, gdzie pobierałem zawartość klasą templatów, głównego pliku index.html (w pliku tym był główny wygląd strony - mianowicie kod ze znacznikami <head><body><html>) i w miejsce, gdzie powinna wyświetlać się treść (w pliku index.html wstawiłęm sobie {content}) to właśnie w tym miejscu podstawiałęm wartość ze zmiennej $content. Chciałem się zapytać, czy ta operacja nie będzie mocno obciążać procesora, gdyż treść przyporządkowana jest jednej zmiennej $content, a następnie umieszczana w pliku index.html z wyglądem głównym strony. Czy w momencie już wyświetlenia całej strony warto na koniec dodać $content=''; aby wyczyścić zmienną?
Ciężko mi to napisać, dlatego przedstawię jak mniej więcej to zdziała:
<?php #### //moduł newsów news.php $content=''; //pętla pobierająca newsy i zapisująca do $content while() { $tplNews = new Template('newsy.html'); $tplNews->assign('tytul',$sql->rows['tytul']); $tplNews->assign('tresc',$sql->rows['tresc']); $content.=$tplNews->show(); } // ### ## //index.php $tpl = new Template('index.html'); $tpl->assign('content',$content); $tpl->show(1); // dla wartości 1 działa jak echo // ### //pliki szablonów ## //index.html <html> <head> //meta tagi </head> <body> //divy dla prawego, lewego bloku oraz środkowego , w miejscu treści {content} </body> </html> // ## ## //newsy.html <div> <b>{tytul}</b> {tresc} </div> // ## ?>