Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wykorzystanie systemu szablonów w publicznie dostępnym CMS-ie
Forum PHP.pl > Forum > PHP
Denver
Witam.

Chciałem zapytać o Wasze zdanie na temat wykorzystania jednego z wielu dostępnych systemów szablonów w opensource'owym projekcie CMS. Grupą docelową skryptu jest w dużej większości młodzież (jest to CMS dla stron klanów różnych gier), szablony będą zatem dość często modyfikowane.

Chodzi mi głównie o spadek wydajności przy wykorzystaniu systemu szablonów (nawet korzystając z prekompilowanych szablonów, gdyż same klasy zwykle są dość duże). Czy warto osadzić szablony z przemieszanym kodem HTML i PHP ryzykując, że niedoświadczeni użytkownicy będą widywać błędy składni spowodowane np. brakiem przecinka na końcu linii?

Dzięki za wszelkie opinie.
rojmarek
mozesz korzystać z systemu, i cache'owac go w jakiś sposob... prywatnie jestem w 100% za oddzieleniem formy od treści winksmiley.jpg
Denver
Mówię o bardzo podobnych konstrukcjach, typu:

Kod
Użytkownik: {$User->nick}

vs

Kod
Użytkownik: <?php echo $User->nick; ?>
mike
Cytat(Denver @ 16.05.2007, 20:47:36 ) *
(...) niedoświadczeni użytkownicy będą widywać błędy składni spowodowane np. brakiem przecinka na końcu linii?
Błędy składni widoczne dla użytkowników jest dowodem tylko i wyłącznie błędu programisty. I to on jest kiepski bądź niedoświadczony.

Jeśli chodzi o szablony to możesz skorzystać z szablonów w PHP. Czyli składnia taka jak pokazałeś w drugim przykładzie.
Nic nie stoi przecież na przeszkodzie aby oddzielić logikę od wizualizacji (co jest jak najbardziej poprawna a także oczekiwane) za pomocą tego typu mechanizmów.
Takie szablony są zresztą wykorzystywane na przykład w Symfony (a także w innych frameworkach).

Porównując oba podane przez Ciebie przykłady drugi jest zdecydowanie lepszy.
sf
Wg mnie oczywiście pierwszy przykład jest lepszy... po co mam ciągle pisać <?php i ?>. Niewygodne, a przy dużym zagnieżdżeniu nieczytelne stąd moja decyzja by używać pierwszej wersji.
rodzyn
Odpowiednio cache'owane smarty napewno by specjalnie niczego nie spowolnilo a milo miec oddzielona tresc od czesci logicznej.
Denver
Mówiąc o spowolnieniu, mam na myśli za każdym razem ładowaną klasę z całym systemem szablonów. Piszą aplikację z dużym naciskiem na OOP (gdzie np. przy liście zarejestrowanych użytkowników każdy wyświetlany wiersz tabeli to oddzielny obiekt klasy User), kolejne, duże objętościowo klasy to dość spory problem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.