Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]OOP i system szablonów
kielich
post
Post #1





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Witam wszystkich,

Mam pewną myśl która mi nie daje spokoju mianowicie czy system szablonów to dobre rozwiązanie jeśli chodzi o duży serwis , czy jest to w miarę bezpieczne stosować np. smarty (tylko przykład). Takie allegro czy np. nk czy widzicie takie serwisy na systemie szablonów??

Bardzo bym chciał poznać wasze zdanie z góry dziękuje .
Go to the top of the page
+Quote Post
deniol13
post
Post #2





Grupa: Zarejestrowani
Postów: 190
Pomógł: 2
Dołączył: 30.11.2009

Ostrzeżenie: (10%)
X----


dobry system szablonów (smarty) jest na pewno bezpieczny ...
Korzystanie z systemu szablonów jest dobrym rozwiązaniem bo łatwo możesz edytować sam kod skryptu ulepszać go i łatwo zrobić nowy styl
Go to the top of the page
+Quote Post
deirathe
post
Post #3





Grupa: Zarejestrowani
Postów: 426
Pomógł: 32
Dołączył: 24.05.2007

Ostrzeżenie: (0%)
-----


smarty- dobry system szablonow? Co do systemu szablonow stosowanych w duzych serwisach to sprobowalbym z TWING'iem. Nie wybralbym natomiast smarty- sa przestarzale, wolne i generalnie klamerki mnie jakos nie bawia
Go to the top of the page
+Quote Post
Quantum
post
Post #4





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Duże serwisy często stosują autorskie systemy szablonów. Nie piszą nowego pseudo-języka, bo żaden nie dorówna czystemu stricte PHP. Przy dużym ruchu na stronie każde ms podczas renderowania są niesamowicie ważne. Takie silniki jak smarty, twig itp., zostały stworzone po to, aby ułatwić pracę programiście i jednocześnie zachować przejrzystość kodu w szablonach. Osobiście takiego czegoś.. kijem bym nie tknął (IMG:style_emoticons/default/tongue.gif) wolę najprostsze, najbanalniejsze rozwiązania (czasem właśnie te bywają najlepsze), np. takie jak zaimplementowano w Kohana, a jeśli chodzi o przejrzystość, to wystarczy stosować pod-widoki i nie ma z tym problemu - ot takie moje zdanie na ten temat.

Ten post edytował sniffer32 21.01.2010, 10:48:13
Go to the top of the page
+Quote Post
kielich
post
Post #5





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


OK a jak byście widzieli takie serwis jak allegro czy nk na systemie szablonów??
Czy dobrym rozwiązaniem jest mieszanie kodu OOP z html ?
Go to the top of the page
+Quote Post
Quantum
post
Post #6





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat
OK a jak byście widzieli takie serwis jak allegro czy nk na systemie szablonów??
Czy dobrym rozwiązaniem jest mieszanie kodu OOP z html ?


Dałem Ci linka w poście wcześniej, zobacz jak oni to rozwiązali. Oddzielenie logiki i widoku to podstawa. Nk czy allegro, napewno stosują własne rozwiązania, systemy, opierające się o wzorce projektowe, typu MVC czy HMVC.
Mieszanie kodu HTML i PHP to grzech największy (IMG:style_emoticons/default/smile.gif)

Ten post edytował sniffer32 21.01.2010, 10:57:21
Go to the top of the page
+Quote Post
darko
post
Post #7





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(kielich @ 21.01.2010, 10:50:24 ) *
OK a jak byście widzieli takie serwis jak allegro czy nk na systemie szablonów??
Czy dobrym rozwiązaniem jest mieszanie kodu OOP z html ?

Nie jest dobre, a już zwłaszcza modelu z widokiem. Duże serwisy stoją na frameworkach, które zapewniają obsługę widoków (implementują własne mechanizmy lub korzystają z zewnętrznych rozwiązań).
Go to the top of the page
+Quote Post
Quantum
post
Post #8





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


W widokach (warstwa prezentacyjna) kod PHP powinien ograniczać się do użycia prostych warunków, pętli, echa. Ważne jest też, aby zachować poprawną strukturę szablonów, kod PHP ma być zagnieżdżony w kodzie HTML, a nie odwrotnie, przykład:

dobrze :

  1. <?php foreach ($array as $key => $value): ?>
  2. <tr><td><?php echo $key ?></td><?php echo $value ?></td></tr>
  3. <?php endforeach ?>


źle :

  1.  
  2. foreach ($array as $key => $value)
  3. {
  4. echo '<tr><td>'.$key.'</td></tr>';
  5. }
  6.  


napewno zauważysz, że drugi przykład będzie bardziej czytelny, ale niestety nie poprawny. Właśnie po to stworzono systemy szablonów, żeby uprościć strukturę widoków, ale czy ich używać, musisz sam zdecydować. Pomyśl czy twój serwis będzie narażony na tak duży ruch jak allegro ?

Ten post edytował sniffer32 21.01.2010, 11:15:29
Go to the top of the page
+Quote Post
kielich
post
Post #9





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


OK no super że napisaliście co myślicie , każdy to co myślał (IMG:style_emoticons/default/smile.gif)
A co do frameworków to co myślicie o symfony (IMG:style_emoticons/default/questionmark.gif) Czy lepsze rozwiązanie niż stosowanie np smarty z "surowym " OOP (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Quantum
post
Post #10





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Symfony to.. potężny framework, nie miałem z nim wiele do czynienia więc nie będę się na jego temat wypowiadał, ale zastanów się czy rzeczywiście potrzebujesz wszystkiego co oferuje. Osobiście polecam KohanaPHP, bardzo lekki, elastyczny no i jednocześnie nie jest tak zasobożerny. Napisałem kilka projektów na własnym frameworku, ale żeby takowy stworzyć musisz wszystko zaplanować od początku. Wiele razy spotykałem się z problemami, kiedy to w systemie na każdym kroku pojawiały się "wąskie gardła".

Pozdrawiam.

Ten post edytował sniffer32 21.01.2010, 13:22:37
Go to the top of the page
+Quote Post
Zyx
post
Post #11





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Cytat
Duże serwisy często stosują autorskie systemy szablonów. Nie piszą nowego pseudo-języka, bo żaden nie dorówna czystemu stricte PHP.


Guzik prawda. PHP jest takim językiem, jak każdy inny. W szczególności można go zastąpić czymś lepiej dostosowanym do tego i taki teoretycznie jest cel tworzenia tzw. "autorskich języków". A że jakość tych języków w 95% przypadków jest dyskusyjna (np. Smarty), to już wynika z braku wyobraźni autorów, braku czasu i paru innych czynników, a nie z tego, że "PHP jest najlepszy". Open Power Template, PHPTAL, w ostateczności Twig - oto co najmniej trzy systemy robione z głową, przy czym ten ostatni to tak bardziej jako dodatek podaję (idea jest słuszna, ale z częścią pomysłów Potenciera, których tam używa, mocno się nie zgadzam). Rozumieją kod HTML, mają mechanizmy do modularyzacji szablonów, ukrywania szczegółów implementacyjnych, automatyczne filtrowanie danych i masę innych rzeczy.

Duże serwisy często stosują systemy szablonów bazujące na PHP, bo takie systemy szablonów są we frameworkach. A jest tak dlatego, że odpowiednio dobry parser ma złożoność niewiele mniejszą, niż cała reszta frameworka i po prostu idzie się "po kosztach". Parę klas-helperów jest znacznie łatwiej napisać, tylko że później zmienić coś w tym to jest koszmar.

Cytat
A co do frameworków to co myślicie o symfony Czy lepsze rozwiązanie niż stosowanie np smarty z "surowym " OOP


Mylisz pojęcia. Nie ma czegoś takiego, jak "cośtam z surowym OOP". Jak sobie zrobisz szkielet aplikacji, to to też jest framework, tyle że autorski i być może kiepsko zrobiony. Gotowe frameworki są dobrze zaprojektowane, przetestowane, więc wystarczy się tylko nauczyć, jak go używać i można od razu zacząć robić stronę, nie bawiąc się w techniczne szczegóły. I one też mają systemy szablonów, najczęściej oparte na PHP, ale przeważnie da się podpiąć do nich inne. Pisanie własnego frameworka to dobry wybór, jeśli po prostu chcemy się nauczyć, jak to działa od środka, albo jeśli naprawdę mamy jakieś mocno specyficzne wymagania.
Go to the top of the page
+Quote Post
kielich
post
Post #12





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


sniffer32 NO niby nie potrzebuje teraz wszystkiego co oferuje nam symfony no ale patrząc w przyszłość czy kohana kiedy mu dorówna ? Czy będzie w pewnym stopniu posiadał możliwość jakie posiada symfony? Wiadomo kohana jest lżejsza itd.
Go to the top of the page
+Quote Post
Crozin
post
Post #13





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Może ktoś podrzucić jakieś testy wydajności porównujące Symfony i Kohanę? To, że coś jest bardziej rozbudowane nie znaczy, że jest ociężałe.

PS. "hello world" to nie test...
Go to the top of the page
+Quote Post
kielich
post
Post #14





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Crozin: NO zgodzę się z tobą i również chciałbym to zobaczyć (IMG:style_emoticons/default/smile.gif)

A co sądzicie jeszcze o Zend Framework . Przeglądając wszystkie te podane w tym poście i kiedy patrząc na zenda (jego wielkość) to się przeraziłem najnowsza wersja ~45MB (IMG:style_emoticons/default/sad.gif) ohhh ....
Go to the top of the page
+Quote Post
Volume
post
Post #15





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 11.10.2004
Skąd: 3c

Ostrzeżenie: (0%)
-----


Cytat(sniffer32 @ 21.01.2010, 11:13:14 ) *
W widokach (warstwa prezentacyjna) kod PHP powinien ograniczać się do użycia prostych warunków, pętli, echa. Ważne jest też, aby zachować poprawną strukturę szablonów, kod PHP ma być zagnieżdżony w kodzie HTML, a nie odwrotnie, przykład:

dobrze :

  1. <?php foreach ($array as $key => $value): ?>
  2. <tr><td><?php echo $key ?></td><?php echo $value ?></td></tr>
  3. <?php endforeach ?>


źle :

  1.  
  2. foreach ($array as $key => $value)
  3. {
  4. echo '<tr><td>'.$key.'</td></tr>';
  5. }
  6.  


napewno zauważysz, że drugi przykład będzie bardziej czytelny, ale niestety nie poprawny. Właśnie po to stworzono systemy szablonów, żeby uprościć strukturę widoków, ale czy ich używać, musisz sam zdecydować. Pomyśl czy twój serwis będzie narażony na tak duży ruch jak allegro ?

Czemu ten drugi zapis nie jest dobry? Chodzi o to ze jest wolniejszy czy moze ma jeszcze jakies inne wady?
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #16





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

Ostrzeżenie: (0%)
-----


To jak z wlewaniem kwasu do wody (IMG:style_emoticons/default/winksmiley.jpg) . Jako, że szablon w dużej mierze jest statyczny, to PHP powinien być tylko dodatkiem.
Go to the top of the page
+Quote Post
pedro84
post
Post #17





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

Ostrzeżenie: (0%)
-----


Tak jak napisał sniffer32 to kod PHP ma być zagnieżdżony w HTML, a nie na odwrót. Przecież wariant pierwszy jest o wiele łatwiejszy do czytania, nie uważasz?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 05:51