Prostota patTemplate
Strona 1 z 2 12 OstatniOstatni
Wyniki 1 do 10 z 11

Temat: Prostota patTemplate

  1. #1
    Senior zwiastun awatar
    Dołączył
    20-09-2005
    Wpisy
    27 315
    Punkty
    1142

    Domyślny Prostota patTemplate

    Jeśli kiedykolwiek tworzyłeś duży serwis oparty na PHP, zapewne przekonałeś się, jak niewygodne jest łączenie w skryptach kodu PHP i HTML. Sytuacja komplikuje się, gdy musisz zmodyfikować serwis. Bardzo trudno jest wprowadzać zmiany zarówno w kodzie, jak i układzie graficznym. Zapoznaj się z tłumaczeniem artykułu Havarda Lindseta: Simple PHP Templates With PatTemplate objasniającego w klarowny sposób korzystanie z patTemplate. Artykuł znajdziesz w naszym serwisie:

    Prostota szablonu opartego na PatTemplate

    Tu możesz umieścić swoje opinie, sugestie, rady, propozycje rozwiązań
    Korzystaj i ciesz się!
    ===============
    Zwiastun
    Biblioteka Elektronicznej Dokumentacji Joomla!

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Przeglądacz
    Dołączył
    29-10-2005
    Wpisy
    34
    Punkty
    22

    Domyślny

    Cóż pobierzenie przeczytałem i szablon jak szablon, ale albo nie doczytałem albo brakuje mi smarty'owskiego odpalenia kodu php w szablonie

    {php} ... {/php} ... a to może być dużym ograniczeniem, co prawda obsługa pętli czy waunków istnieje, ale nie zawsze się nimi da sterować tak jak by się chciało ;-)

    Jedno zasadnicze pytanie dlaczego patTemplate, a nie smarty, który ma o wile większe możliwości, istnieje do niego o wiele więcej dokumentacji noi, o ile się nie mylę, jest rozwijany przez programistów php???

  4. #3
    Wyjadacz nexus246 awatar
    Dołączył
    23-09-2005
    Wpisy
    664
    Punkty
    20

    Domyślny

    Moim skromnym zdaniem znaczniki {php} w Smarty to pomyłka, stosując je podważa się idee wykorzystywania szablonów. Wszystkie zmienne powinno się przygotowywać przed parsowaniem szablonu.

    A dlaczego akurat ten system... w necie jest sporo dyskusji (a jakie emocje im towarzyszą ;)) na ten temat i pewnie jest jakiś powód dla ktorego programiści joomlowi wybrali ten system.

  5. #4
    Przeglądacz
    Dołączył
    29-10-2005
    Wpisy
    34
    Punkty
    22

    Domyślny

    Cytat Wysłane przez nexus246 Zobacz wiadomość
    Moim skromnym zdaniem znaczniki {php} w Smarty to pomyłka, stosując je podważa się idee wykorzystywania szablonów. Wszystkie zmienne powinno się przygotowywać przed parsowaniem szablonu.
    Odpowiedz mi zatem na pytanie :

    Zalozenie :
    Masz tablke 4 - kolumny , 4 wiersze - w kazdej komorce jest wyswietlany ten sam element np produkt, odwiedzajacy ma mozliwosc zmiany ilosci wyswietlanych produktow na wiersz + dodatkowo mozliwosc usniecia zdjecia produktu.

    Pytanie :
    Gdzie lepiej generowac ta tabelke w php i wyswietlic ja poprzez zmienna np {$PRODUCTS_TABLE} czy w szablonie poprzez petle smarty z uzyciem php do zmiany ilosci wierszy , ewentualnie jak ktos chce miec porzadek i usunieciem obrazka rowniez z poziomu smarty poprzez php ?


    Szablony zostaly stworzone tylko poto zeby nad kodem mogl pracowac programista a nad samym szablonem powiedzmy designer, nie da sie uniknac przenikania php z html w 100% (inaczej takie rozwiazanie bedzie sztywne i niewygodne), ale jezeli juz ktos kto nie zna sie na php, ma cos zmieniac, to wole zeby skopal petle php w smarty (choc o ile jest to osoba powiedzmy sprytna ale bez znajomosci php - to po kilku malych experymentach domysli sie jak sie steruje petla i co moze z nia zrobic) niz np jakis modul/funkcje - i o to chodzi w szablonach - o prostote modyfikacji dowolnego elementu szablonu, bez grzebania sie w php przez osobe ktora nie ma o nim bladego pojecia.


    Zwroc uwage na ide MVC (zakladajac ze Widok to jakis prymitywny szablon) - tutaj rozgraniczenie mialo na celu cos podobnego (przynajmniej jezeli chodzi o relacje V - C ), ale nie wyobrazam sobie generowanie html w Kontrolerze, tylko po to zeby go ladnie wyswietlic w jednej linicje w Widoku.

  6. #5
    Wyjadacz nexus246 awatar
    Dołączył
    23-09-2005
    Wpisy
    664
    Punkty
    20

    Domyślny

    Gdzie lepiej generowac ta tabelke w php i wyswietlic ja poprzez zmienna np {$PRODUCTS_TABLE} czy w szablonie poprzez petle smarty z uzyciem php do zmiany ilosci wierszy , ewentualnie jak ktos chce miec porzadek i usunieciem obrazka rowniez z poziomu smarty poprzez php ?
    Odpowiedź:
    Z technologii mamy jeszcze javascript (+ajax), usuwanie, dodawanie kolumn można robić po stronie klienta (trudno jest mi sobie wyobrazić opisaną przez Ciebie funkcjonalność ale wydaję mi się że to może być dobre rozwiązanie).

    Szablony zostaly stworzone tylko poto zeby nad kodem mogl pracowac programista a nad samym szablonem powiedzmy designer, nie da sie uniknac przenikania php z html w 100% (inaczej takie rozwiazanie bedzie sztywne i niewygodne), ale jezeli juz ktos kto nie zna sie na php, ma cos zmieniac, to wole zeby skopal petle php w smarty (choc o ile jest to osoba powiedzmy sprytna ale bez znajomosci php - to po kilku malych experymentach domysli sie jak sie steruje petla i co moze z nia zrobic) niz np jakis modul/funkcje - i o to chodzi w szablonach - o prostote modyfikacji dowolnego elementu szablonu, bez grzebania sie w php przez osobe ktora nie ma o nim bladego pojecia.
    Da się uniknąć, zresztą taki jest cel. Model MVC ma pewne założenia i jeśli od nich odchodzisz to już nie jest MVC. Nie mam na myśli sytuacji gdy ktoś kto się nie zna coś sobie testuje i a nuż się uda. Myślę o projektach przy których pracują ludzie, którzy się znają na swojej robocie. Koder HTML/szablonów nie będzie się bawił z tabelką przez wrzucanie jej do w pętle php. Koder PHP nie będzie generował htmla tylko zaserwuje content w zmiennych. Jest to czasami trudne i może się wydawać że niepotrzebne lae ma też szereg zalet. M.in. można w łatwy sposób zmieniać widoki uniezależniając się od kontrolera (np. do XML), do innego szalonu etc.

    Zwroc uwage na ide MVC (zakladajac ze Widok to jakis prymitywny szablon) - tutaj rozgraniczenie mialo na celu cos podobnego (przynajmniej jezeli chodzi o relacje V - C ), ale nie wyobrazam sobie generowanie html w Kontrolerze, tylko po to zeby go ladnie wyswietlic w jednej linicje w Widoku.
    No właśnie, nie wiem czy dobrze Cię zrozumiałem ale ja też sobie nie wyobrażam
    Witaminy | Ziołolecznictwo
    "Paczem" do "komentarzów" jest odpowiedni komponent.
    --
    Mój priv to nie helpdesk.

  7. #6
    Przeglądacz
    Dołączył
    29-10-2005
    Wpisy
    34
    Punkty
    22

    Domyślny

    Cytat Wysłane przez nexus246 Zobacz wiadomość
    duzo tekstu ;-)
    Czasami nie mozesz uzyc ajaxu ze wzgledu na zalozenia projektu, manipilowanie w drzewie DOM ma jedynie sens w przypadku tak malej tabeli ( inaczej sie zaczyna wlec , a dwa to samo co w zwiazku z ajaxem )


    Nie unikniesz wymieszania php z html. Jezeli twierdzisz dalej ze unikniesz pokaz mi jeden przyklad np framework / system szablonow ktory wg Ciebie to potrafi zachowujac "pelna" funcjonalnosc i elastycznosc , i zaraz Ci pokaze ze jednak nie potrafi ;)


    Widoki mozesz zmieniac w dolnym czasie i dowolny sposb w wiekszosci implementacji MVC (o ile nie we wszytskich, przynajmniej stosowanych na szeroka skale)


    Co do ostatniego chodzilo mi o to ze nie unikniesz w widoku PHP, htmla sie da stosujac jakis system szablonow ... ale tam znow w pewnych przypadkach pojawi sie PHP

  8. #7
    Wyjadacz nexus246 awatar
    Dołączył
    23-09-2005
    Wpisy
    664
    Punkty
    20

    Domyślny

    Od jakiegoś pół roku pracuję/pracowałem nad projektem w .NET Framework i tam się udawało. Wiem, że to inna technologia ale cóż, podstawy te same.

    Jeśli chodzi o frameworki PHPowe to korzystałem tylko z Symfony a z szablonów to Smarty, patTemplate . Generalnie gdy pisałem to z założenia nie mieszałem kodu HTML/PHP

    Na pewno da się znaleźć przykłady, w których trudno lub nawet bardzo trudno jest coś zrobić ale też nie ma sytuacji że się nie da. Jeśli się nie da to znaczy że wcześniej zostały popełnione jakieś błędy (na etapach analizy wymagań, projektowania etc.)

    Myślę, że większe korzyści przynosi trzymanie się założeń, które zostały wymyślone przez mądrzejszych ode mnie. Myślę też, że w niewielkich projektach, które wdrażamy na codzień można od tego odejść ale też warto mieć świadomość co się robi i dlaczego (np. są wymagania czasowe, więc robimy żeby było szybciej).
    Witaminy | Ziołolecznictwo
    "Paczem" do "komentarzów" jest odpowiedni komponent.
    --
    Mój priv to nie helpdesk.

  9. #8
    Przeglądacz
    Dołączył
    29-10-2005
    Wpisy
    34
    Punkty
    22

    Domyślny

    Ten algorytm zapewne znasz, sprobuj zaimplementowac bez mieszania php/html lub asp/html (o ile nie ma w asp wbudowanych funkcji do obslugi tego typu drzew)

    http://dev.mysql.com/tech-resources/...ical-data.html

    Piszac proste aplikacje zawsze sie da zrobic cos tam, ale w duzych projektach jak zapewne wiesz liczy sie rowniez wydajnosc, a unikanie wymieszania php / html za wszelka cene ( zwlaszcza wydajnosci ) to raczej sztuka dla sztuki.

    Ja akurat jestem zwiazany z tylko jednym projektem ( aplikacja e-learningowa ), za to duzym, poddawanym duzym obciazeniom ( transfer z serwera produkcyjnego miesiecznie potrafi siegnac 1 TB , byc moze wiecej ciezko stwierdzic - to tak zeby nakreslic moze nie wielkosc, ale obciazenie jakie jest generowane przez uzytkownikow tutaj 1kb transferu jest na wage zlota doslownie ;-) Wiec staram sie dbac zwlaszcza o wydajnosc i oszczednosc transferu.

  10. #9
    Wyjadacz nexus246 awatar
    Dołączył
    23-09-2005
    Wpisy
    664
    Punkty
    20

    Domyślny

    No słusznie, zawsze jest coś za coś. Btw, w necie i między innymi na php.pl jest artykuł o rekurencji w smarty.
    Witaminy | Ziołolecznictwo
    "Paczem" do "komentarzów" jest odpowiedni komponent.
    --
    Mój priv to nie helpdesk.

  11. #10
    Przeglądacz
    Dołączył
    29-10-2005
    Wpisy
    34
    Punkty
    22

    Domyślny

    Dalej bede upierdliwy :

    Algorytm ktory podalem mozna zastsowac np do pobierania struktury menu.

    Zakladajac ze menu ma byc zaprojektowane w CSS ( listy nieposortowane ) i wyswietlone w postaci 2 poziomowych zakladek ( zakladka + jej podpoziom dla lisci ) , zakladki maja byc przelanczane na aktywne dla dopowiedniego kontrolera a podelelemnty np pogrubiane dla odpowiedniego widoku , rownoczesnie po najechaniu na niekatywna zakladle, pojawi sie lista lisci , w miejsce lisci aktywnej zakladki (czyli zmiana stylu w zaleznosci od kontrolera / widoku ( akcji kontrolera ) + interakcja z uzytkownikiem ) bez wykorzystania php wewnatrz smarty bylo by ciezko, o ile w ogole mozliwosci smarty by na to pozwolily, przelanczanie zakladek zalatwi sam CSS.

    Milego dnia
    Ostanio edytowane przez kuba : 30-05-2007 17:14

Strona 1 z 2 12 OstatniOstatni

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •