Mirosław O. netBOMB.pl
konto usunięte
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
Witam!Ja uważam, że systemy szablonów (czy to smarty, czy x-template albo inne) są po to, żeby je wykorzystywać. Twórcy tych systemów włożyli sporo pracy w to, aby szablony działały bez błędów, były zoptymalizowane i uniwersalne. Poza tym każdy taki np. smarty może dostosować do swoich potrzeb poprzez mechanizm wtyczek jeśli mu mało tego co już jest.
Moim zdaniem nie ma sensu wyważanie otwartych drzwi i wymyślanie własnych systemów szablonów na potrzeby niewielkich projektów i należy stosować rozwiązania sprawdzone - chyba, że nie zależy nam na skuteczności i nie bardzo liczymy się z czasem, który trzeba jednak zainwestować żeby wynaleźć koło na nowo :) W ten sposób unikniemy dodatkowo wielu wpadek, które zostały już przez innych "doświadczone".
Poza tym zaprzęgnięcie szablonów (w moim przypadku jest to właśnie smarty) do własnego, dopracowanego frameworku może naprawdę skrócić i ułatwić pracę nad projektem.
Mirosław O. netBOMB.pl
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
Bartłomiej B.:
Poza tym zaprzęgnięcie szablonów (w moim przypadku jest to właśnie smarty) do własnego, dopracowanego frameworku może naprawdę skrócić i ułatwić pracę nad projektem.
Widok jest wystarczający i nie potrzebuje dodatkowych spowalniaczy. Pchanie Smarty do FW to jakieś nieporozumienie.
konto usunięte
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
Czemu uważasz to za nieporozumienie? Nie uważam, żeby smarty były spowalniaczem - wręcz przeciwnie - szablony są kompilowane (jak już ktoś tu napisał) do PHP i można w prosty sposób zorganizować sobie cache modułów, których generowanie również staje się dużo prostsze (i szybkie). To bardzo wygodne rozwiązanie w przypadku aplikacji webowych i warto spróbować. Jeszcze odnośnie wydajności - może warto zrobić testy i porównać zyski i straty?Piszesz też wcześniej o ograniczeniach, jakie można dostrzec po porzuceniu systemów szablonów. Możesz wyjaśnić co masz na myśli?
Mirosław O. netBOMB.pl
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
Czemu uważasz to za nieporozumienie?
Bo nie rozumiem potrzeby nakładania na widok dodatkowej warstwy. To zresztą nie tylko moje zdanie, chyba żaden z "wiodących" FW nie nakłada nic na widok.
To bardzo wygodne rozwiązanie w przypadku aplikacji webowych i warto spróbować
Wolę iść do przodu niż cofać się ;)
Możesz wyjaśnić co masz na myśli?
Chodzi głównie o swobodny dostęp do danych i ich nieskrępowane "obrabianie" bez potrzeby uciekania się do jakiś dodatkowych funkcji pseudo języka.
konto usunięte
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
Bo nie rozumiem potrzeby nakładania na widok dodatkowej warstwy. To zresztą nie tylko moje zdanie, chyba żaden z "wiodących" FW nie nakłada nic na widok.
A jednak wiele poważnych firm buduje duże serwisy internetowe w oparciu o smarty. Na temat "wiodących" FW nie mogę się wypowiadać bo nie używam. Zdarzeniowe jest jedynie Prado - fakt, że rozwiązanie bardziej na czasie ale lekkim na pewno nie można go nazwać :)
Wolę iść do przodu niż cofać się ;)
To nie jest krok wstecz ;)
Chodzi głównie o swobodny dostęp do danych i ich nieskrępowane "obrabianie" bez potrzeby uciekania się do jakiś dodatkowych funkcji pseudo języka.
Danych nie obrabia się w warstwie widoku. Dostęp do nich jest bardzo wygodny (i czytelny!) w smarty a finalnie i tak są kompilowane do PHP co już pisałem.
Każdy ma tak jak lubi. Dla każdego serwisu można znaleźć za i przeciw stosowaniu szablonów. Nie warto natomiast wynajdywać czegoś co już jest na nowo. Warto natomiast oszczędzać swój czas.
Mirosław O. netBOMB.pl
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
A jednak wiele poważnych firm buduje duże serwisy internetowe w oparciu o smarty.
I to jest argument? :D Ludzie używają Visty ;)
Na temat "wiodących" FW nie mogę się wypowiadać bo nie używam
Dlatego nie rozumiesz różnicy.
To nie jest krok wstecz ;)
Smarty i szablony to poprzednia epoka w PHP. Wtedy inaczej się pisało, inaczej rozwiązywało pewne problemy. Sam używałem najpierw Smarty (krótko), jakiś czas później lepsze polskie OPT (dosyć długo).
Danych nie obrabia się w warstwie widoku
Sugerujesz, że helperka powinienem użyć w modelu lub, o zgrozo, w kontrolerze?
konto usunięte
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
I to jest argument? :D Ludzie używają Visty ;)
Dlatego nie rozumiesz różnicy.
Tak samo argumentem nie są dla mnie "wiodące frameworki" jak dla Ciebie Vista a to, że nie używam tychże "wiodących frameworków" na co dzień nie znaczy, że nie potrafię z nich skorzystać.
Staram się zrozumieć Twój punkt widzenia. :)
Sugerujesz, że helperka powinienem użyć w modelu lub, o zgrozo, w kontrolerze?
Co to jest "helperka"???
Mirosław O. netBOMB.pl
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
że nie używam tychże "wiodących frameworków" na co dzień nie znaczy, że nie potrafię z nich skorzystać.
Tego nie powiedziałem. Miałem na myśli to, że jeżeli byłbyś aktywny z "obu stron" to może łatwiej by Ci było zrozumieć mój (ogólnie "ten") punkt widzenia.
W mojej wypowiedzi nie było nic złośliwego.
Co to jest "helperka"???
Helperek to zmiękczenie od helper ;) Wybacz, że nie po naszemu ale polski odpowiednik przyprawia mnie o dreszcze ;)
konto usunięte
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
Nie doszukiwałem się w Twojej wypowiedzi niczego złośliwego. :)Architektura MVC nie przekreśla wcale stosowania szablonów, natomiast wracając do operacji na danych, cytuję chociażby za wikipedią:
"Frameworki MVC do operacji na bazach danych używają modeli i mapowania relacyjno-obiektowego, ORM (ang. object-relationship mapping)."
i uważam, że właśnie tam jest miejsce na takie operacje.
A wszelkie drobne "helperki" mogą znaleźć się w warstwie widoku. Zresztą pełno jest takich małych udogodnień właśnie w smarty.
konto usunięte
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
Zresztą - jeszcze jeden cytat z wiki dot. MVC:"Właściwy kod programu zwykle jest umieszczany w kontrolerze, a przetworzone dane przekazywane są do odpowiedniego widoku - tu przy pomocy bibliotek szablonów (Smarty, Template Toolkit czy też JSP w przypadku Springa) generowany jest HTML, inny rodzaj widoku może generować PDF albo XML."
Mirosław O. netBOMB.pl
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
>Architektura MVC nie przekreśla wcale stosowania szablonówZgadza się, ale ja już parę razy to napisałem: zarówno ja, jak i wiele innych osób nie widzimy sensu nakładać na widok dodatkowej warstwy. Pewnie, że można, tylko po co ;)
i uważam, że właśnie tam jest miejsce na takie operacje.
Owszem, ja pisałem o tym co należy obrobić w widoku np. pobierasz sobie z bazy ten oto nasz wątek, i teraz w zależności od widoku obrabiasz te dane, przykładowo, w html timestampa formatujesz "dzisiaj 18:39", a w xml (rss) wg. odpowiedniej specyfikacji. Trudno, żeby babrać się z tym w modelu niepotrzebnie .
I to chyba tyle co można było na ten temat powiedzieć ;)
Daniel Częstki senior php developer
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
napisałem małe co nieco o Smarty :)http://czestki.net/programowanie-webowe/smarty-i-cache...
mi np. podoba sie w smarty np łączenie {section} z {cycle} :)Daniel C. edytował(a) ten post dnia 09.11.07 o godzinie 18:10
Maciej
M.
Advanced Software
Engineer
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
Daniel C.:
napisałem małe co nieco o Smarty :)
http://czestki.net/programowanie-webowe/smarty-i-cache...
mi np. podoba sie w smarty np łączenie {section} z {cycle} :)Daniel C. edytował(a) ten post dnia 09.11.07 o godzinie 18:10
smarty ma wiele genialnych pomysłów
np output_filter - robisz jedną funkcje np do kodowania np win2iso rejestrujesz i nie obchodzi Cie kodowanie bo filtr zalatwia to za ciebie, strona ma być w utf8? - prosze bardzo, zmiana w jednym miejscu win2iso -> win2utf,
capture , funkcje blokowe, i modyfikatory ... cud narzędzie,
po co mam gdzies w klasie obrabiać np jakąs tabele specjalnie by wstawić np przecinek w 100 wierszach danych giełdowych?
robię to odrazu przy wyświetlaniu! bo moze czesc danych chce wykorzystać jeszcze w innym miejscu,
wyciągam -> obrabiam -> wyświetlam ..
a nie można prościej?
wyciągam -> wyświetlam DELIKATNIE obrabiając?
pozdrawiam wszystkich używających Smartów!
M.
Bartosz Ratajczyk MS SQL Developer
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
A może HAML?Założenia: http://haml.hamptoncatlin.com/
Dla PHP: http://sourceforge.net/projects/phphaml
Strona autora phpHaml: http://alfanick.biz/projekty/phphaml/
Tomasz
Struczyński
TeamLeader PHP i
analityk
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
Daniel C.:
Paweł Wrzosek:
A ja wolę dogłębnie wymieszany HTML z PHP, o ile ten HTML jest napisany tak jak nalezy, a za wygląd tak naprawdę odpowiada CSS.
Lepsze to niż odseparowane PHP i html`owa tagzupa z zeszłej dekady.
ja widzialem ostatnio kod dosc sporego serwisu ok. 50000 unikalnych gosci miesiecznie, gdzie kod html,a wlasciwie jego fragmenty sa generowane przez funkcje wyciagajace pewne dane.
I to nie chodzi tylko o tabelke, ale o kod html, ktory stanowi ramy szablonu. Wystarczy maly blad i szablon sie rozjezdza.
To glowny plus szablonow. Zachowuje spojnosc projektu.
A ja widziałem dziesiątki przykładów rozjeżdżania się kodu Smarty'ego. I tu i tam możesz np niepoprawnie wpisać instrukcję pętli (tylko w PHP środowisko Ci to wykryje, a w Smartym nie).
Dość długo używałem Smarty'ego i w sumie go lubię, ale coraz bardziej się przekonuję, że PHPTemplate (czyli PHP) z alternatywną składnią jest tak samo czytelny. :)
Jak dla mnie - generalnie w każdym dostatecznie skomplikowanym systemi można coś spieprzyć. Smarty jest niestety dostatecznie skomplikowany. Teraz pytanie brzmi, jak szybko można usunąć i znaleźć ewentualne błędy - a w "czystym" PHP jest to dużo łatwiejsze. Jak ktoś mądrze napisał, PHP samo w sobie <b>jest językiem template'ów</b>. Do tego jest optymalizowane od początku istnienia, dopiero od stosunkowo niedawna pojawiają się w nim np obiekty. Po co uczyć kogoś kolejnego języka?
Jeśli już "ograniczać", to ograniczyć instrukcje i operacje stosowane w szablonie. A to da się zrobić na etapie sprawdzania kodu (trochę regexpów po kodzie programu i voila).
konto usunięte
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
Z mojego doświadczenia wiem, że jeśli faktycznie pojawiają się błędy w szablonie to stosunkowo łatwo się je usuwa. Praktycznie nie spotkałem się z problemem, którego usunięcie z szablonu trwało dłużej niż minutę. Smarty w przypadku błędów składni zasygnalizuje błąd a jeśli "coś się rozjeżdża" to znaczy, że źle jest generowany html - nie jest domknięty tag, albo za dużo/za mało jest zawarte w pętli.Pamiętajmy, że smarty służy do generowania treści i są to bardzo proste operacje gdzie ciężko jest popełnić "grube" błędy - oczywiście jeśli ktoś się postara to opisana sytuacja jest możliwa (tj. szablon będzie zbytnio rozbudowany i nieczytelnie napisany).
Nie będę już pisał więcej o dodatkowych korzyściach użytkowania smarty takich jak cache i możliwość łatwego formatowania danych.
Tomasz
Struczyński
TeamLeader PHP i
analityk
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
No cache i możliwość łatwego formatowania danych istnieją i w PHP od zarania dziejów - akurat to jest taki sobie argument jak dla mnie :) A co do Smarty'ego, to błąd wykryje, ale po uruchomieniu strony. A to jak dla mnie o krok za daleko. Do niektórych szablonów w rozbudowanych stronach trzeba się "doklikać", a to może zająć czas :) Szczególnie, jak nie używamy serwera testowego na localhoście, tylko gdzieś w sieci (tak, to się zdarza czasami, np nie zawsze możesz instalować co chcesz na kompie). Niepotrzebne :)Tomasz Struczyński edytował(a) ten post dnia 10.12.07 o godzinie 11:45konto usunięte
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
Rozumiem, że serwer develowy to nie to samo co produkcyjny a na produkcyjnym znajduje się sprawdzone oprogramowanie :) więc informowanie o błędzie na wygenerowanej stronie jest jak najbardziej OK. O błędzie składni PHP też zostaniesz poinformowany w ten sam sposób :)Co do cache - to owszem PHP od zarania dziejów oferuje cache (output buffer) - tylko, że nie wygenerowanego kodu HTML na podstawie szablonu w plikach i z kluczem - zawsze można obsługę tego napisać samemu tylko po co skoro jest?
Tomasz
Struczyński
TeamLeader PHP i
analityk
Temat: [pytanie] Rozdzielanie HTML'a od PHP,
Do PHP też są wtyczki cache'ujące (z kluczem, jw.).O błędzie PHP, przynajmniej w podstawowym zakresie, informuje mnie Eclipse (jEdit, wpisz dowolne). Ze Smartym tak różowo nie jest.
Podobne tematy
-
PHP » Pytanie odnośnie PHP MySQL Css Html -
-
PHP » Pytanie odnosnie linkow w php -
-
PHP » [php][pobieranie tekstu z html] -
-
PHP » CV w html/php na stanowisko webmastera? -
-
PHP » Sprzedam książki o PHP, HTML, CSS, JavaScript, inne; 50%... -
-
PHP » Zamieszałem z cudzysłowami - php, html, formularze -
-
PHP » z html na php - pomoc PILNE! -
-
PHP » Pytanie o wyrażenia regularne / dyktando w php -
-
PHP » Pytanie - jest funkcja w php ktora umozliwia wykonanie... -
-
PHP » Pytanie o zarobki młodego programisty PHP -
Następna dyskusja: