Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 2 Dołączył: 25.08.2009 Skąd: Toruń / Bydgoszcz Ostrzeżenie: (10%)
|
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 |
|
|
|
![]() |
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) |
|
|
|
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
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 ![]() ![]() |
|
Aktualny czas: 26.11.2025 - 08:07 |