Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> System szablonów wg wymagań, Pisać własny czy przerobić inny?
WebCM
post 20.09.2007, 19:36:37
Post #1





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

Ostrzeżenie: (0%)
-----


Potrzebuję bardzo szybkiego i wydajnego systemu szablonów. Zastanawiam się, czy pisać własny, czy przerobić istniejący do potrzeb CMS-a.

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?
    1. <?php
    2. $tpl = new Template('file.tpl');
    3. $tpl -> add('jakaś_zmienna', 'wartość'); //Albo w tablicy
    4. $block = $tpl -> getBlock('news');
    5.  
    6. foreach($res as $news)
    7. {
    8. $block -> add(...); //Przypisanie zmiennych
    9. $block -> show(); //Jak zorganizować dane w obiekcie?
    10. }
    11. //Albo inaczej - jak?
    12. ?>
    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.
  • 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?
    1. <?php
    2. <div id="jakies_id">zawartość</div>
    3. ?>
    A w PHP coś w stylu:
    1. <?php
    2. $tpl -> if( TRUE, ...);
    3. ?>
    Nie wiem, czy to dobry przykład. W takich blokach znajdują się jeszcze inne zmienne.

    A może coś w stylu PHPTal?
    1. <?php
    2. <div if="zmienna">...</div>?
    3. ?>
    Na podobnej zasadzie mogą działać pętle.
  • 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.
Inne bajery są raczej zbędne. Kolejna rzecz - łączny rozmiar podstawowych plików systemu szablonów - maks. 4KB.

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.


--------------------
„Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 09:41