Chciałbym poznać wasze opinie o Twigu, plusy, minusy.
http://forum.php.pl/index.php?showtopic=181145
+ dobrze że powstał
- brak, ponieważ jak już muszę korzystać z systemu szablonów, to wolę to zrobić po swojemu, niż pod czyjąś (czasami złą) wizje świata.
Jak przeczytałem posty z podlinkowanego wyżej tematu, to jestem przerażony jak można zhejtować tak dobry projekt bez podawania żadnych argumentów.
Chętnie odświeżyłbym ten temat.
Plusy Twig-s:
+ przyjemna składnia
+ IDE dobrze go wspierają
+ dziedziczenia szablonów
+ bloki
+ szybki
+ ciągle rozwijany!
+ pójdzie Ci prawie na każdym hostingu
+ czytelny dla ludzi nie kodujących w php (webdeveloperzy z firmy bez problemu dali sobie z nim rade)
+ nie musisz się martwić czy przekazana do szablonu dana to tablica czy obiekt - odwołujesz się do właściwości w ten sam BARDZO wygodny sposób
+ przyspiesza Twoją prace - a to jest najważniejsze.
Oczywiście, stracisz na tym jakieś milisekundy czasu generowanie szablonów. Nawet jeżeli będzie to 50 ms to i tak jest to ogromnie duży kop dla procesu developingu.
Jak kogoś boli te marne ms do opóźnienia to odsyłam do cache za pomocą ESI + varnish - odzyskają ten "cenny" czas.
A teraz dla kontrastu... dlaczego szablony w php są złe
- bardzo mało czytelny
- wymaga odpowiedniej konfiguracji serwera aby darować sobie konieczność pisania "<?php"
- kontrola typów na każdym etapie (sprawdzenie czy zmienna jest iterowalna aby podać ją do foreacha, utrudnienia refactoringu)
- wymaga napisania masy helperów + systemu do sensownego ich uruchamiania beż mozolnego wklepywania serii $this->myHelper( bla bla ) (psuje czytelność)
- życzę powodzenia przy próbie implementacji dziedziczenia szablonów
Twig już to ma
Ja, mimo czasu jaki minął od wspomnianego tematu - podtrzymuję swoje tezy, choć z racji pracy mam ostatnimi czasy z twigiem wiele do czynienia. Każdy kto ma do wykombinowania w S2 coś mniej trywialnego, może szykować sobie od razu pistolet Przykład? Miałem niedawno do ogarnięcia formularz, który nakładał na siebie relację 1 do wielu z relacją wiele do wielu z parametrem jako element dynamiczny formularza. Relacja 1 do wielu była zależna od jednego z pól formularza, zaś wiele do wielu z parametrem musiała się dynamicznie do niej dostosowywać, a by było wesoło, wybór pwego decydującego elementu nie mógł być zapamiętany od razu do encji, gdyż mógł zniszzyć isniejącą już relację. Twig głupiał, zaś samo S2 miało problemy z ogarnięciem walidacji tego. Event listenery w połączeniu z customowymi form_themes z danymi dodatkowymi rzucanymi przez includowanie podszablonów z parametrami. A by jeszcze było na złość, to niektóre elementy nie mogły mieć zgodnego z innymi wyświetlania, czylipwne elementy dziedziczyły po globalnych customowych form_themes, a inne nie. Zgranie tego do kupy to był horror. O takich drobiazgach jak fakt, że tworzenie customowych form themes w postaci mocno zaawansowanej w sieci jest tyle co kot napłakał - nie piszę. Gdy przychodzi co do czego, to musisz cały kod odpowiedzialny za daną funkcjonalność analizować i rozgryzać. Przykład? Jak twig przyjmuje pary klucz wartość, gdy musi je obliczyć dynamicznie lub przykładowo klucz jest obiektem, z którego wybieramy jedną z własności? Ja się z tym zderzyłem dla generowania path
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)