Dzisiaj postanowilem do potrzeb wlasnych napisac mala klase do obslugi szablonow...
Klasa jest baaardzo prosta w sam raz dla malych i srednich stron www.
Dziala zarowno w PHP4 jak i PHP5.
Jest to moja pierwsza klasa, dlatego udokumentowanie nie jest dobre, nawet go zabardzo nie ma jak na razie

Co do mozliwosci klasy... Zadnych ifow, catchow czy dodatkowych bajerkow...
Klase prawdopodobnie bede rozwijal pozniej, jednak jak na razie to mi wystarcza i zadnych wiekszych zmian nie przewiduje...
Klasa:
<?php class NowySzablon { var $toChange; var $str; function Template() { $this -> str = ''; } function setTemplate($ATemplate) { $this -> str = $ATemplate; } function Szablon($AFileName) { } function zmienna($AKey, $AValue) { $AKey = '{'.$AKey.'}'; //mozna usunac, jesli wolisz bez obslugi znakow { } $this -> toChange[$AKey] = $AValue; } function Parsuj() { foreach ($tmpKeys as $currentKey) { $this -> toChange[$currentKey], $this -> str); } } return $this -> str; } } ?>
Sposob uzycia:
<?php $st = new NowySzablon; //Definiujemy nowy Szablon $st -> Szablon('szablon.tpl'); //Sciezka do pliku z szablonem $st -> zmienna('tytul', 'Przykladowy tytul...'); //Definiowanie zmiennej szablonowej, w zaleznosci od zmiennej $AKey = '{'.$AKey.'}' - jesli zostawisz to wstawiasz bez { } jesli wymazesz zmienna, musisz dodawac {}
przy definiowaniu zmiennych szablonowych // ewentualnie: // $zmienna = $st -> executeChanges(); ?>
Jak widac, przy definiowaniu zmiennych szablonowych trzeba rowniez dodawac znaki zmiennych "{}". Dlaczego?
Z zalozenia chcialem aby mozna bylo sparsowac jeden plik szablonu kilka razy przez np dwukrotne uzycie klasy... I tak w jednym dajemy sobie zmienne pomiedzy {} a potem np. pomiedzy ###zmienna###.