Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%)
|
Chciałbym poznać wasze opinie o Twigu, plusy, minusy.
|
|
|
|
![]() |
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 |
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 (IMG:style_emoticons/default/wink.gif) 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 (IMG:style_emoticons/default/smile.gif)
Kod path( route_name, { argument.here_name: argument.here_value } ) Takie coś sypnie wam exceptionem o nieoczekiwanej kropce, ponieważ twig nie przyjmuje jako klucza czegokolwiek innego niż bezpośrednio string. Ja grzebiąc w bebechach i niejedną stronę przejrzawszy w końcu znalazłem obejście. Trzeba w twigu wymusić wykonanie tego działania poprzez ujęcie w nawiasy okrągłe: Kod path( route_name, { (argument.here_name): argument.here_value } ) Ale ile osób w twigu pracujących z takim czymś się spotkała? Nie sądzę by wielu, bo inaczej w google odpowiedź byłaby od razu do znalezienia. A im głębiej w las, tym więcej drzew... EDIT: Żeby nie było, że hejt sam... Uważam i tak twig za prawdopodobnie najmilszy w użytkowaniu system szablonów dla php, aczkolwiek nie do końca zgodzę się z punktem o wspieraniu przez IDE. Bardziej zagnieżdżone konstrukcje powodują przykładowo w NetBeans "głupienie klamerek". Gdy jest odwołanie do odwołania bądź zagnieżdżona tablica, to podpowiadanie składni siada i zwyczajnie jest ono niepoprawne, ale to już błąd IDE, a nie samego twiga |
|
|
|
skowron-line Twig - opinie 3.02.2013, 18:21:47
!*! http://forum.php.pl/index.php?showtopic=181145
+... 3.02.2013, 18:29:06
wookieb Jak przeczytałem posty z podlinkowanego wyżej tema... 3.02.2013, 21:38:25 
pyro Cytat(wookieb @ 3.02.2013, 21:38:25 )... 3.02.2013, 22:11:08
everth Cytatżyczę powodzenia przy próbie implementacji dz... 3.02.2013, 21:47:34
wookieb Twig już to ma 3.02.2013, 21:50:15 ![]() ![]() |
|
Aktualny czas: 30.12.2025 - 11:33 |