Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Głupie pytanie
Forum PHP.pl > Forum > Gotowe rozwiązania > Systemy szablonów
php programmer
Witam

Od jakiegoś czasu mam niewielki kontakt ze smarty,
które ponoć służy do oddzielenia kodu od layotu
ale właściwie z moich doświadczeń co prawda niewielkich
w tym zakresie, wnioskuje że zamiast
instrukcji for napiszę {section}
itp więc na pierwszy rzut oka według mnie to mam więcej
roboty bo muszę zapoznac nowe instrukcje po to jedynie
żeby zastąpić te z php, może ktoś ma jakieś racjonalne
wytłumaczenie tego absurdu.
Być może się myle, ale gdzie wtedy leży sens smarty?
ActivePlayer
jak bedziesz chcial zmienic layout, zmodyfikujesz tylko templaty, a o php zapomnisz. Smarty(w zasadzie ideologia systemów szablonów) daje Ci mozliwosc oddzielenia logiki aplikacji (pobieranie danych z bazy, inserty updaty, obliczenia, itp itd), od wyświetlania danych.
nospor
no bo widzisz. w php przygotujesz tablice ktora bedzie zawierac np. informacje o uczniach: imie , nazwisko, srednia ocen....
ale ciebie nie interesuje w jaki sposob ona zostanie wyswietlona. Ty ja tylko przygotowales i przekazujesz do smartiego. a teraz w smartim ktos inny (albo ty) odbiera te tablice i obrabia tak jak mu sie podoba:
Kod
<table>
{section .....}
<tr>
    <td>{$user.imie}</td>
    <td>{$user.sredniaocen}</td>
</tr>
{/section}

To jest oczywiscie banalny przyklad, ale taka jest mniej wiecej idea

ps: przenosze

no i moglbys sie wysilic na lepszy tytul. wkoncu masz jakis juz staz na forum
no i luknij tu:
http://forum.php.pl/index.php?showtopic=4677&st=0
php programmer
Ok ale czy trzeba do tego używac aż smarty
przecież php obsługuje tablice i pętle,
a kod z pętlmi i layoutem
można sobie przecież sobie oddzielić

innymi słowy ja to rozmumiem tak,
że mam własne nogi do chodzenia
a ktoś mi daje szczudła do chodzenia
KG-
Po pierwsze: Systemy szablonów zostały pomyślane do wiekszych aplikacji które zazwyczaj tworzy kilka osób. Czy chciałbyś żeby koleś od grafiki i szablonów mieszał ci w Twoim kodzie php?

Po drugie: Szablony są o wiele wygodniejsze, kod php jest dużo mniejszy i bardziej przejrzysty. Nie musisz się bawić w echo itp funkcje, tylko po prostu robisz stronę html w pliku szablonu, więc taki kod szablonu jest również o wiele czytelniejszy i łatwiej się go modyfikuje.

No i wreszcie po trzecie: Nie trzeba 'aż używać smarty', są o wiele prostsze i szybsze systemy szablonów (choćby FastTemplate), co wcale nie oznacza że wygodniejsze, zwłaszcza przy większych programach.
php programmer
OK, ale to by znaczyło, że po pierwsze osoba od layoutu
powinna znać także smarty, a po drugie pierwsza powinienna
być tworzona logika php a potem wizualizacja,
tylko że u mnie w pracy jest zupełnie odwrotnie,
grafik przysyła mi szablony (layout) w HTML, które ja sobie muszę
sztucznie przerabiać na php i smarty, troche bezsens,
zajmuje mi to kilkakrotnie dłużej czasu już nie mówiąc
o tym że wprowadzanie jakichś zmian to katorga.
mike
Cytat(php programmer @ 22.06.2006, 09:27 ) *
OK, ale to by znaczyło, że po pierwsze osoba od layoutu
powinna znać także smarty, a po drugie pierwsza powinienna
być tworzona logika php a potem wizualizacja,
tylko że u mnie w pracy jest zupełnie odwrotnie,
grafik przysyła mi szablony (layout) w HTML, które ja sobie muszę
sztucznie przerabiać na php i smarty, troche bezsens,
zajmuje mi to kilkakrotnie dłużej czasu już nie mówiąc
o tym że wprowadzanie jakichś zmian to katorga.

No ale to już problem u Ciebie w pracy że robicie projekty od dupy strony.

U mnie wtorzona jest specyfikacja, na jej podstawie powstaje prototyp funkcjonalny oraz logika aplikacji.
I na końcu podłanczany jest design, który grafik zrobił na podstawie prototypu.
siemakuba
Cytat(php programmer @ 22.06.2006, 09:27 ) *
OK, ale to by znaczyło, że po pierwsze osoba od layoutu powinna znać także smarty

No widzisz, nie bez powodu manual Smarty dzieli się na "Smarty for programmers" i "Smarty for template designers". Osoba od layoutu zakładam zna HTML biegle. Nauczenie się ~20 nowych konkstrukcji to nie jest wielkie wyzwanie, prawda? A daj teraz tej osobie kod php w którym masz wymieszane mysql_query, potem echo, potem jakieś fory, foreache, to wszystko pozamykane w instrukcjach warunkowych. Zakładasz, że ta osoba szybciej dojdzie do co, gdzie i jak patrząc na ten php?

Każdy ma swoje przyzwyczajenia - to prawda. Ja odkąd zacząłem używać Smarty (do którego też byłem na początku dość sceptycznie nastawiony) pozbyłem aię 100% HTMLa z kodu php. Nie ma go tam nawet kawałek. Dzięki temu, mogę zabrać swój np. CMS do torby, pojechać do Krakowa, wypakować na rynku, dołączyć do niego nowy Kraków-friendly layout i śmiga. A CMSa nawet nie dotknę :) (chciałem obrazowo :P)

Czy twój dostawca obudowy do telefonu kom. zna zasady funkcjonowania tego telefonu? Nie zna, bo on musi tylko wiedzieć jakie zrobić wymiary i rodzaj mocowania. Potraktuj Smarty jako "nakładkę" na aplikację, którą możesz w każdej chwili zmienić całkowicie nie dotykając nawet aplikacji.

pozdr.
Pianandrill
Pytanie o sens używania smarty nie jest zasadny zważywszy na rozmiar projektu i grono użytkowników - może wytłumaczenie "od dupy" ale czasem takie lepiej dociera.
Jeżeli nie przemawiają wcześniej przytoczone argumenty to podam jeszcze jeden: pracę nad kodem i layout'em od pewnego momentu w projekcie można prowadzić równocześnie, tzn, że gdy programista umożliwi dostęp do ważniejszych danych w znormalizowanej postaci designer juz tworzy i modyfikuje szablon.
Można też zrobić inaczej (chociaż chyba tylko w specyficznych sytuacjach) - przygotować najpierw szablon, ustalić jego kształt i rozmieszczenie el "aktywnych" i dopiero wtedy siadać do kodowania. Tak jak mówię, sytuacja szczególna musi nastąpić ponieważ czesto w większych (albo troszke większych) realizacjach wymagania zmieniają sie w trakcie produkcji a modyfikacja kodu i szablonu wtedy równocześnie jest trudna do osiągniecia.

Szablony to naprawde fajowa rzecz, chyba lepsze określenie to zbawienna. To tak jak byś powiedział, że po co SQL, przecież mamy CSV albo inny format plików w których można przechowywać dane i mozemy je z tamtąd zczytywać. Jasne, tylko przy kilku tabelkach i 2 bardziej nietypowych requestach byś się zajechał z oprogramowaniem tego, a jeszcze jak by doszła zmiana organizacji danych... OMG nie chce mi sie nawet tego wyobrażać.

Dziękuje to byłem ja: Pianandrill
SongoQ
Bezsensowna dyskusja. @php programmer jesli nie wiesz do czego wykorzystac smarty i nie widzisz w tym nic co by prace ulatwilo to rob jak robiles wczesniej, nikt na sile nie bedzie Ci czegos udowadnial.

Forum jest do pomagania, pisania o swoich pomyslach, naprowadzania osob ktore nie wiedza na rozwiazania a nie jakies dyskusje ktore nic nie wnosza. Takie tematy sa jak oop nie wiesz to nie potrzebnie nie zasmiecaj forum.
LBO
Systemy szablonów ułatwiają sprawę. Tutaj tak naprawdę mam na mysli Smarty'iego. Wiekszośc profesjonajlnych grafików nauczyła się jego składni, dzięki czemu praca jest przyjemniejsz i z mniejszymi zgrzytami. Jednak, pracując na frameworku nad własnymi projektami wolę użyć zwyczajnego widoku (View ze wzorca MVC) i helperów - lepiej się czuję z php.
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.