Funkcje
- Pętle lub wyciąganie fragmentów. Dla przykładu chcę wyświetlić nowości. Ich ilość na stronie zależy od ustawień. Każdy news ma inne dane. W jaki sposób najlepiej to zrobić? Podobnie jak podpinanie w PDO?
Co do organizacji danych - albo zamiany następują dopiero w metodzie show(), albo przetworzone dane przechowywane są w dodatkowej zmiennej (większe zużycie pamięci RAM). Trzeba zwrócić też uwagę na instrukcje warunkowe i inne operacje.- <?php
- $tpl = new Template('file.tpl');
- $tpl -> add('jakaś_zmienna', 'wartość'); //Albo w tablicy
- $block = $tpl -> getBlock('news');
- foreach($res as $news)
- {
- $block -> add(...); //Przypisanie zmiennych
- $block -> show(); //Jak zorganizować dane w obiekcie?
- }
- //Albo inaczej - jak?
- ?>
- Zmienne - prawdopodobnie w stylu {zmienna}. Istotną kwestią jest dostęp do innych zmiennych niż przypisane, choć niekonieczną.
- Instrukcje warunkowe - bez tego trudno napisać elastyczne szablony z dostosowaniem wyglądu do ustawień. Jak je zaimplementować? Może podobnie jak w XT?
A w PHP coś w stylu:- <?php
- <div id="jakies_id">zawartość</div>
- ?>
Nie wiem, czy to dobry przykład. W takich blokach znajdują się jeszcze inne zmienne.- <?php
- $tpl -> if( TRUE, ...);
- ?>
A może coś w stylu PHPTal?
Na podobnej zasadzie mogą działać pętle.- <?php
- <div if="zmienna">...</div>?
- ?>
- Cache - bardzo ważne w celu przyspieszenia skryptu. 2 sposoby:
- zapis pliku .tpl do .php bądź innej formy
- zapis przetworzonego szablonu do .html (gdy dane rzadko się zmieniają)
Jeżeli skrypt dostosowywałby szablony sprawnie, funkcja nie jest konieczna.
Czy opłaca się tworzyć własny system szablonów, czy lepiej wykorzystać już istniejący i dostosować go (np. usunąć zbędne funkcje i instrukcje)? Zastanawiam się nad XT.