Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony]Twig czy PHP
Jazi
post
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 2
Dołączył: 25.08.2009
Skąd: Toruń / Bydgoszcz

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


Witajcie, dopiero zaczynam się brać za tematykę frameworków. Z tego względu chciałbym Was zapytać czego używacie do budowania szablonów - twig, czy php? I czemu?

Ten post edytował Jazi 29.07.2011, 13:47:59
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




To ja się odniosę do tego co napisał Potencier:

Concision: Systemy szablonów NIE sprawdzają się w chwili gdy mamy do czynienia z czymś ciutkę innym niż domyślne języki ASCII i utf-8. Kto próbował pisać w iso-8859-2 ten nieraz przeklinał gdy wychodziły krzaki w nich, bo trzeba wtedy pisać albo własne funkcje które obejmą owo kodowanie, albo grzebać się w kodzie tego szablonu by uwzględnił jednak iso-latkę. Wiedza do tego konieczna - minimum poziom średnio-zaawansowany. Typowy klepacz layoutów nie ma szans tego zrobić sam. Escape nie jest tu wyjątkiem. Nie wiesz czy zastosowana wersja ucieczki jest tą potrzebną. Nie zawsze opcja ENT_QUOTES jest tą ktorej chcemy. Znowu grzebać się w bebechach trzeba lub pisać plugin czy funkcję?

Template oriented syntax: Zwróć jeszcze uwagę na IF, które wepchnieto do przykładu, bo ono wizualnie powiększa kod co skłania czytającego do myslenia, że to gorsze rozwiązanie. PHP znów daje większa kontrole nad tym co się dzieje. System szablonów zapewne próbuje wyłapać czy zmienna istnieje, ale co jeśli jej nie ma? Inna sprawa, że przykład jest dla mnie błędny if( $items ) ? a nie if( is_array( $items ) ) ? Chyba chcemy wiedzieć czy mamy do czynienia z tablicą, a nie byle czym co da się skonwertować dynamicznie do wartości niezerowej. Zauważ, że tutaj Potencier sięgnął do specyficznej właściwości Django jaką jest ELSE dla FOR, czyli wybiera przykład byle udowodnić swą tezę - dla mnie to FAIL.

Reusability: Na samym początku już Potencier wspomina o zmianach w php5 jakie zaszły, a cały punkt można streścić do: "Django ma to od lat i inni z tego rżną", ale nie ma tutaj pociągniętego wątku, że podobna rzecz już częściowo jest lub "za chwilke" będzie w PHP, a przemaglowana na wiele sposobów, zapewne nie będzie dziurawa.

Security: Zwróć uwagę na cały akapit. Potencier pokazuje że Django to ma, jednak chociaż szczerze pisze, że zdaje sobie sprawę, iż może to być wrzodem na tyłku i trzeba się także uciekać do wyłaczania tego automatu, oraz że jeden z pierwszych kompletnych (przeciwko XSS, CSFR i innych) tego typu mechanizmów właśnie framework PHP - Symfony - wprowadził. Taka kryptoreklama własnego rozwiązania (IMG:style_emoticons/default/wink.gif)

Sandbox mode: Znowu szczerość... Nie posiadają tego normalnie języki i systemy szablonów oraz trzeba to samemu implementować poprzez pisanie własnych rozwiązań (co wspomni zresztą nieco dalej przy modyfikowaniu Twiga przez siebie ). Tak więc tutaj znowu robotę musi odwalić programista od back-endu i grzebania się z całym zapleczem, bo front-developer za wiele tutaj nie zdziała.

Porównanie systemów szablonów:
Smarty: Słuszna zjebka - ciężka kobyła, która była wzorem składni dla Django. W chwili obecnej bardziej dla tych, którzy nie liczą się z wydajnością za grosz.
PHPTAL: Powstał do stron, a nie generowania wszystkiego out-of-box. Tak więc trochę dziwi mnie w minusach niemożliwość choćby tworzenia RSS, które są już pewną wariacja na temat XML-em, a więc coś czego nie było w założeniach tego języka.
eZ Components Templates: Wypunktowano zalety, ujeto wydajność jako minus. Pytanie się rodzi: "A czego się spodziewałeś innego?" Za każda nową funkcjonalność i ułatwienia trzeba zapłacić wydajnością. Im więcej rzeczy masz dostępnych "na dzień dobry", tym wolniej to będzie działać w środowisku produkcyjnym. Dlatego zawsze wybiera się narzędzie w odniesieniu do potrzeb by ten narzut ograniczyć do minimum.
Dwoo: Jako ciekawostka bardziej taki zmodyfikowany Smarty, ale niezbyt elastyczny by osiągnąć lepszą wydajność
Calypso: Konwersja Django na PHP i kolejny dowód, że przenoszenie żywcem rozwiązań z innych języków może sie odbić czkawką
Twig: Czyli zachwyt nad kodem i informacja, że wziąłem to i jeszcze popoprawiałem, innymi słowy kryptoreklama własnej "gałęzi rozwojowej". To czego mi brakuje w benchmarkach to brak skali porównawczej do tego o czym jest dyskusja w tym temacie, a więc porównanie do rozwiązania w "czystym" PHP. Czyli zapewne coś podobnego do tego co wygenerowałby Twig, ale znając życie z "ręcznymi" optymalizacjami (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie
- Jazi   [Symfony]Twig czy PHP   29.07.2011, 13:47:46
- - 1010   Twig, w php mnie zawsze kusi, żeby w szablonie był...   29.07.2011, 13:49:59
- - Cysiaczek   php. Twig to moim zdaniem krok wstecz.   29.07.2011, 14:04:50
- - 1010   Dlaczego krok wstecz?   29.07.2011, 14:09:08
- - janek9   Lepiej zadać pytanie, które jest szybsze? Twig i ...   29.07.2011, 14:20:43
- - thek   IMHO - php. Nie tylko czysty jezyk jest szybki tak...   29.07.2011, 14:22:42
- - 1010   Czy te różnice szybkości, które nie są aż takie wi...   29.07.2011, 14:23:30
- - LBO   Cytat(Cysiaczek @ 29.07.2011, 15:04:5...   29.07.2011, 14:29:53
- - 1010   Rozumiem wasze argumenty. Dla mnie niestety proble...   29.07.2011, 14:33:25
- - thek   @1010: Powiedz mi jaki jest sens nauki systemu sza...   29.07.2011, 14:43:20
- - Hellz   http://www.twig-project.org/ Lista argumentów za....   29.07.2011, 14:45:50
- - 1010   Właśnie w Twigu też jak najbardziej podoba mi się ...   29.07.2011, 15:14:49
- - LBO   Dziedziczenie szablonów? To nie jest argument, bo ...   29.07.2011, 15:28:12
- - zend   Decyzja czy użyć systemu szablonów czy czystego ph...   29.07.2011, 20:44:57
- - by_ikar   twig to jest niemal to samo co smarty. Nie jestem ...   31.07.2011, 22:35:52
- - thek   @zend: Ja rozumiem, że tworzenie zaawansowanych te...   1.08.2011, 09:49:42
- - Hellz   CytatDziedziczenie szablonów? To nie jest argument...   2.08.2011, 22:56:24
- - buliq   Moim zdaniem tylko php ma sens. Systemy szablonów ...   2.08.2011, 23:06:21
- - mrok   Twig - Sporo pisałem ostatnio w django i jakoś Twi...   2.08.2011, 23:20:06
- - starach   Oj taaaaaaak bo po to sie tworzy szablon żeby jesz...   2.08.2011, 23:57:33
- - Hellz   Może merytoryczne odniesienie do argumentów F.P. z...   3.08.2011, 08:07:52
- - thek   To ja się odniosę do tego co napisał Potencier: C...   3.08.2011, 09:03:48
- - by_ikar   Podsumuje to tak: będę pisać o kilka znaków mniej,...   3.08.2011, 14:10:14
|- - Orzeszekk   Cytat(by_ikar @ 3.08.2011, 15:10:14 )...   23.06.2012, 20:13:05
- - wiewiorek   A ja nie bardzo rozumiem do końca po co są te syst...   3.08.2011, 14:25:56
- - thek   To jest właśnie to o czym Potencier najprawdopodob...   3.08.2011, 15:07:38
- - tiraeth   1) Jeśli chcesz coś zrobić w języku szablonu (Twig...   8.08.2011, 21:29:42
- - by_ikar   CytatKocham takie stwierdzenia. Skoro tak ci zalez...   24.06.2012, 02:06:01
- - toffiak   Patrząc z perspektywy osoby która zajmuje się cało...   24.06.2012, 15:47:15
- - Orzeszekk   do mnie do pracy przyszedł grafik, ktory czaił htm...   24.06.2012, 17:23:31
- - Niktoś   Orzeszekk,tak przy okazji poczytałem dzisiaj o akc...   24.06.2012, 17:38:18
|- - Orzeszekk   Cytat(Niktoś @ 24.06.2012, 18:38:18 )...   24.06.2012, 22:10:41
- - Mephistofeles   Przecież o to właśnie chodzi. Programista może nap...   24.06.2012, 19:16:47
- - event15   Wiem, że niesamowity odkop - ale błagam, niech kto...   4.07.2016, 13:34:51
|- - LowiczakPL   Cytat(event15 @ 4.07.2016, 14:34:51 )...   4.07.2016, 19:18:20
- - nospor   Wow, witamy pana nerwowego.... Jak juz sie troche...   4.07.2016, 13:44:33
- - !*!   Złota łopata jak nic :D Ale w zasadzie można by t...   4.07.2016, 13:50:01
- - event15   Cytatnie mieszanie php z html Oczywiście, że jest...   4.07.2016, 14:01:48
|- - Turson   Cytat(event15 @ 4.07.2016, 15:01:48 )...   4.07.2016, 14:06:26
|- - !*!   Cytat(event15 @ 4.07.2016, 15:01:48 )...   4.07.2016, 14:09:56
- - nospor   Cytatto tworzy sie kod odseparowany, gdzie w kontr...   4.07.2016, 14:05:49
- - viking   Dla mnie ideałem od lat jest PHPTAL i nie wyobraża...   4.07.2016, 14:21:06
- - Pyton_000   PHPTal nie wygląda na taki superaśny. Wrzucanie pi...   4.07.2016, 14:24:11
- - viking   Ale w gratisie dostajesz wyjątek przy źle zamknięt...   4.07.2016, 14:36:42
- - event15   Z chęcią, już nieco spokojniej odpowiadam. Więks...   4.07.2016, 14:43:54
- - nospor   No i super. Czyli wszystko jasne. Przyszedles na f...   4.07.2016, 14:47:53
- - event15   CytatPrzyszedles na forum by sie pochwalic ze uzyw...   4.07.2016, 14:52:56
- - nospor   Ok, to rodziel mi warstwe prezentacji w standardow...   4.07.2016, 14:57:54
- - Pyton_000   @event15 ale co ma do tematu to w jaki sposób prac...   4.07.2016, 14:59:55
- - Turson   @event15, a w aplikacji nie-RESTowej w MVC jak będ...   4.07.2016, 15:03:19
- - event15   CytatOk, to rodziel mi warstwe prezentacji w stand...   4.07.2016, 15:09:31
- - com   Ale twig i wszystkie tego typu to itak html w php,...   4.07.2016, 18:12:19
- - com   @up to bardziej sztuka dla sztuki   4.07.2016, 19:23:31
- - destroyerr   Tylko, że źródłowa wypowiedź dotyczyła kompilacji ...   5.07.2016, 12:49:22


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

 



RSS Aktualny czas: 8.10.2025 - 14:57