Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> System szablonów wg wymagań, Pisać własny czy przerobić inny?
WebCM
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mokry
post
Post #2





Grupa: Zarejestrowani
Postów: 374
Pomógł: 23
Dołączył: 3.06.2006
Skąd: Katowice

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


Smarty jest popularne przy tworzeniu stron WWW... Dlatego jest też często znane przez grafików, którzy robią dla Ciebie jakieś zlecenie... Jeśli grafik jest naprawdę dobry, zna też podstawy PHP, ale nie o tym mowa w topicu.

Powiem Ci z własnego doświadczenia...
Pisząc własną klasę do obsługi szablonów możesz sobie zrobić z nią co chcesz, jednak jej udoskonalenie, dostosowanie i zuniwersalizaja potrwają sporo czasu do ogólnego stosowania w Twoich różnych projektach // jeśli się tym zajmujesz na co dzień//

Używając gotowe systemy szablonów jak Smarty czy xt, zawsze możesz sobie dorobić/zmienić w nich conieco.

Osobiście korzystam ze Smarty, do którego z każdym projektam, gdy jest potrzeba dodaje nowe plug-in'y, tak aby ułatwić życie sobie i mojemu stałemu grafikowi, który zna już modyfikacje.
W każdym razie nawet jeśli zna tylko podstawy Smarty, to całą resztę mogę już sam dorobić... W końcu on zajmuje się głównie HTML'em oraz CSS'em.

Oczywiście czysty kod PHP jest najszybszy, ale... ale późniejsza modyfikacja serwisu/strony jest po prostu straszne...
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 03:54