konto usunięte

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

Nom - tylko, że już tutaj odbiegamy od tematu tej konwersacji - a jest nim właśnie rozdzielenie PHP od HTML. :)

konto usunięte

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

Trudno mi sobie wyobrazić gwałtowne zmiany w wyglądzie serwisu napisanego przy pomocy MVC. Ale może mam za małe doświadczenie.

Szablon (Smarty, XTemplate) - podmieniam pliczki, wgrywam CSS, rekonfiguruje i mam. A MVC? To chyba jakaś większa jazda??

A co jeśli chcę mieć dwa szablony naraz? Diametralnie różne (tak jak np. w phpBB)?
Tomasz Struczyński

Tomasz Struczyński TeamLeader PHP i
analityk

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

Bartłomiej Biskupek:
Nom - tylko, że już tutaj odbiegamy od tematu tej konwersacji - a jest nim właśnie rozdzielenie PHP od HTML. :)

Hmm, w temacie 'stricte' nie jesteśmy, ale w temacie = 'zawartość pierwszego posta' i owszem :):) Bo zakładam, że przez html+php+css w jednym pliku rozumiane jest CAŁY php w jednym pliku :)

Ja proponuję PHP jako logikę, a w szablonie - PHP jako język szablonów :) Rozróżnienie gł. ideowe, to znaczy w szablonach stosujemy praktycznie tylko echo + pętle + może małe warunki STRICTE związane z wyglądem (tzn na przykład brak zapytań do bazy etc). Ze składnią alternatywną PHP (łatwo wtedy odróżnić szablon od logiki, poza tym składnia alternatywna jest idealna do szablonów; przypomina Smarty'ego :P).

Generalnie nawet w Smartym możesz wsadzić logikę jak się uprzeć. Więc takie "oddzielenie" i tak musi w głowie przebiegać przede wszystkim. Dlatego przed zastosowaniem któregokolwiek z systemów przez nas polecanych radzę poczytać o rozdzieleniu warstw, czy to w architekturze MVC (niezłe tutoriale do Symfony na przykład), czy w warstwowej (baza+logika+widok).
Stanisław P.

Stanisław P. Software designer

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

Piotr Likus:
Trudno mi sobie wyobrazić gwałtowne zmiany w wyglądzie serwisu napisanego przy pomocy MVC. Ale może mam za małe doświadczenie.

Szablon (Smarty, XTemplate) - podmieniam pliczki, wgrywam CSS, rekonfiguruje i mam. A MVC? To chyba jakaś większa jazda??

Podmieniasz View tylko - rekonfiguracja? co to? :)
A co jeśli chcę mieć dwa szablony naraz? Diametralnie różne (tak jak np. w phpBB)?

To wybierasz odpowiednią wersję View, bądź parametrem zamieniasz co idzie na wyjście. - tu już jest trochę rozwiązań w zależności od samego frameworka.

konto usunięte

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

Tomasz Struczyński:
Ja proponuję PHP jako logikę, a w szablonie - PHP jako język szablonów :) Rozróżnienie gł. ideowe, to znaczy w szablonach stosujemy praktycznie tylko echo + pętle + może małe warunki STRICTE związane z wyglądem (tzn na przykład brak zapytań do bazy etc). Ze składnią alternatywną PHP (łatwo wtedy odróżnić szablon od logiki, poza tym składnia alternatywna jest idealna do szablonów; przypomina Smarty'ego :P).

Moim zdaniem:
- kod HTML z użyciem Smarty jest zdecydowanie bardziej czytelny od składni alternatywnej PHP i łatwiejszy - dodatkowo nie trzeba do cache'owania używać specjalnych klas/wtyczek o których piszesz,
- szablony Smarty są zdecydowanie łatwiej przyswajalne przez webmasterów, którzy generują kod HTML/CSS na podstawie otrzymanych projektów graficznych,
- Smarty i inne popularne systemy szablonów - czy chcemy, czy nie chcemy - stają się standardem.
Generalnie nawet w Smartym możesz wsadzić logikę jak się uprzeć.

No właśnie się nie da - zresztą Smarty nie do tego służy :)
Piotr Likus:
Trudno mi sobie wyobrazić gwałtowne zmiany w wyglądzie serwisu
napisanego przy pomocy MVC. Ale może mam za małe doświadczenie.

Szablony właśnie są ściśle powiązane z architekturą MVC. To zagadnienie pojawiło się już w tym wątku wcześniej.Bartłomiej Biskupek edytował(a) ten post dnia 10.12.07 o godzinie 14:42
Mirosław O.

Mirosław O. netBOMB.pl

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

Bartłomiej Biskupek:
- Smarty i inne popularne systemy szablonów - czy chcemy, czy nie chcemy - stają się standardem.

hihi ;)

konto usunięte

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

Stanisław Pitucha:
Piotr Likus:
Szablon (Smarty, XTemplate) - podmieniam pliczki, wgrywam CSS, rekonfiguruje i mam. A MVC? To chyba jakaś większa jazda??

Podmieniasz View tylko - rekonfiguracja? co to? :)

To coś co robisz, jeśli chcesz mieć banner z lewej a nie z prawej.
Prościej - kliknięcie myszą, które trzeba dokonać jeśli chce się zmienić wygląd portalu. Nawet MVC to chyba ma?
Bartłomiej Biskupek:
Szablony właśnie są ściśle powiązane z architekturą MVC. To zagadnienie pojawiło się już w tym wątku wcześniej.

Szablony bez warstwy danych już widziałem, więc chyba nie do końca. Ale rozumiem, że chodziło Ci o to, że obiektowe MVC zwykle występuje z szablonami, tak?

konto usunięte

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

Piotr Likus:
rozumiem, że chodziło Ci o to, że obiektowe MVC zwykle występuje z szablonami, tak?

tak
Łukasz Golonka

Łukasz Golonka www.outdoorzy.pl

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

Stosowanie MVC i Smartów jednocześnie to raczej wg mnie pomyłka.
Jak dla mnie generowanie widoku ma być jak najbardziej proste bez konieczności stosowania metajezyka.

konto usunięte

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

Łukasz Golonka:
Stosowanie MVC i Smartów jednocześnie to raczej wg mnie pomyłka.
Jeżeli nie łamie zasady poniżej to nie jest pomyłka.
Jak dla mnie generowanie widoku ma być jak najbardziej proste
Tak
bez konieczności stosowania metajezyka.
Zależy kto co lubi.
Michał Dudek

Michał Dudek Programista Web 2.0

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

Prawda jest taka, ze jesli nie robimy serwisu dla ponad 100 tys. uzytkownikow z setkami tysiecy odwiedzin dziennie, a do tego duza dynamika, nie ma co sie rozwodzic nad wydajnoscia Smarty.

A jesli robimy mniejszy serwis, to pewnie wiekszosc podstron i tak mozna wrzucic do cache'a i wszystko bedzie ladnie smigalo.

U mnie w pracy stosujemy MVC (inspirowane Zend'em, ale w duzej mierze przepisane na nasze wlasne potrzeby) + Smarty i wszystko ladnie smiga przy duzych obciazeniach.

A gosc od CSS + HTML nauczyl sie Smarty w 5min.
Jerzy Tabaszewski

Jerzy Tabaszewski Architekt Systemów
Internetowych, Team
Leader

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

hmmm, jakkolwiek nie zaimplementowane szablony, sa jedna z czesci integralnych w kazdym projekcie typu MVC ;)

wydajnosc przy serwisach przewidujacych rozwoj [a chyba kazdy chce sie rozwinac ;)] powinna byc brana pod uwage od startu.

Smarty? pewnie, jest sporo szybszych rozwiazan, nawet swoje probowalem uruchomic;) ale prawda jest taka ze w praktyce to wlasnie smarty jest najpopularniejsze : rozsadne przekazanie danych do smarty pozwala praktycznie wyeliminowac logike w szablonach (calkowite wyeliminowanie jest baardzo ciezkie) i aktualnie obstaje przy tym, ze warto korzystac ze smarty :)

konto usunięte

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

Jerzy Tabaszewski:
hmmm, jakkolwiek nie zaimplementowane szablony, sa jedna z czesci integralnych w kazdym projekcie typu MVC ;)
Na poziomie idei a nie wyboru rozwiązania ( Smarty czy cokolwiek innego )
Poza tym nie zapominajmy, że php też może być językiem szablonów.

konto usunięte

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

z jednej strony, korzystajac ze Smarty mozna latwo 150 razy zmieniac wyglad strony nie ingerujac zbytnio w kod - a bo kontroler sobie robi swoje, a wyglad latwo cyknac na inny.

Z drugiej strony lepsza kontrole daje laczenie php z html, nie bawisz sie z assignami, display'ami, nie musisz tworzyc plikow szablonu i tak dalej i tak dalej.

Z jeszcze innej jednak strony perfidne
echo '<h3>siemano '.$jakas_zmienna.'</h2>'; jest w cholerę jasną brzydkie i niechlujne.

Coz, kwestia gustu.. jak z kobietami ;) a o gustach sie nie dyskutuje, tylko sie robi co sie ma do roboty. Ma działac, jak nie bedzie działac to Ci szef nie zaplaci, ani nie powie 'no, to kit ze nie dziala, ale jest Smarty! Super!'

;]
Łukasz Ważny

Łukasz Ważny winning doesn't
really matter as
long as you win

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

Smarty jest fajne na początku, potem jeszcze fajniejsze, ale w którymś momencie zaczyna ograniczać i przeszkadzać.

Ostatnio dochodzę do przekonania, że lepiej jest zrezygnować ze Smarty na rzecz skryptów do widoków zaimplementowanych ZF + Zend_Layout.
Szymon Gregorczyk

Szymon Gregorczyk Developerem jestem
programistyczno-webo
wym

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

Witam,

Ja kroczę drogą wspomnianą przez Łukasza, czyli zero Smarty, zamiast tego Zend_View, które moim zdaniem spokojnie daje radę.

Odnośnie szablonu to wszelakie pętle, warunki korzystając z notacji alternatywnej i żadnych tagów w echo. Tak jak wspomniał Jakub coś w stylu:
echo '<h3>siemano '.$jakas_zmienna.'</h3>';
jest zdecydowanie paskudne,
<h3>siemano <?php echo $jakas_zmienna;?> </h3>
moim zdaniem jest bardziej eleganckie. Chociaż to zapewne kwestia gustu czy przyzwyczajenia.

Swoją drogą pytanie do osób nie gustujących obecnie w Smarty. Jak sprawdzacie który element jest parzysty, ostatni itp.. W Smart'ach było to całkiem wygodnie rozwiązane. Bez Smart'ów wprowadzanie dodatkowej zmiennej robiącej za licznik zdaje sie takie nieeleganckie, ale jest chyba nieuniknione. Można się pokusić o napisanie Iteratora, ale komu się chce do prostych rzeczy?Szymon Gregorczyk edytował(a) ten post dnia 07.02.08 o godzinie 00:36
Łukasz Ważny

Łukasz Ważny winning doesn't
really matter as
long as you win

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

Szymon Gregorczyk:
echo '<h3>siemano '.$jakas_zmienna.'</h3>';
<h3>siemano <?php echo $jakas_zmienna;?></h3>

można też tak:
echo "<h3>{$jakas_zmienna}</h3>";
czy
echo "<h3>{$this->zmienna}</h3>";

Szymon Gregorczyk:
Swoją drogą pytanie do osób nie gustujących obecnie w Smarty. Jak sprawdzacie który element jest parzysty, ostatni itp.. W Smart'ach było to całkiem wygodnie rozwiązane. Bez Smart'ów wprowadzanie dodatkowej zmiennej robiącej za licznik zdaje sie takie nieeleganckie, ale jest chyba nieuniknione. Można się pokusić o napisanie Iteratora, ale komu się chce do prostych rzeczy?

Można zajrzeć do skompilowanych szablonów Smarty podejrzeć jak rozwiązali to twórcy - ale chyba nie ma tam cudownego sposobu. Pewnie trzeba użyć licznika, można też sprobować zrobić helpersa do widoku, który by pozwalał kolorować wiersze w tabeli ect, albo poczekać na CSS3 i tam wszystko będzie obsługiwane po stronie przeglądarki :)Łukasz Ważny edytował(a) ten post dnia 07.02.08 o godzinie 07:39

konto usunięte

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

a tam jakies male if(($i%2)==0) nie zaszkodzi ;-).
Szymon Gregorczyk

Szymon Gregorczyk Developerem jestem
programistyczno-webo
wym

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

Łukasz Ważny:
(...)
można też tak:
echo "<h3>{$jakas_zmienna}</h3>";
czy
echo "<h3>{$this->zmienna}</h3>";
nie tylko można, a czasem nawet trzeba, ale mniejsza już o szczegóły..
(...) można też sprobować zrobić helpersa do widoku, który by pozwalał kolorować wiersze w tabeli ect
też można :-) to akurat nie problem, odnośnie helpera zamiast pętli to w ZF1.5 jest PartialLoop, chociaż z tego co widziałem nie ma opcji rozpoznawania parzystości wierszy czy ostatniego elementu, ale zrobienie tego nie powinno być wielkim problem.
Jakub Świegot:
a tam jakies male if(($i%2)==0) nie zaszkodzi ;-).
małe if'y nigdy nie szkodzą, chociaż preferuję małe echo w stylu
echo (($i%2)==0)?'even':'odd';Szymon Gregorczyk edytował(a) ten post dnia 07.02.08 o godzinie 20:23

konto usunięte

Temat: [pytanie] Rozdzielanie HTML'a od PHP,

nom ta forma zdecydowanie lepsza, ale zawsze dluzej mi zjada napisanie jej. kilka sekund, ale zawsze.



Wyślij zaproszenie do