Czy powinienem nauczyć się Symfony 2?

14

Widziałem to, na jakim stopniu Drupal 8 będzie polegał lub będzie kompatybilny z Symfony? ale nie rozumiem, czy dotyczy to mojego pytania. Czy powinienem nauczyć się Symfony 2, aby rozwijać się w Drupal?

Jasio
źródło
1
Przeczytaj to natychmiast, jeśli jeszcze tego nie zrobiłeś :)
Clive
@Clive Przeszukiwałem Symfony 2 i DI, znalazłem go, a potem natknąłem się na temat Symfony 2 Drupal 8.
Johnny

Odpowiedzi:

24

Symfony 2, ponieważ w pełnym stosie Symfony 2 nie ma wpływu na Drupala 8 - nie używamy jego pakietów, nie używamy tego samego routingu, co Symfony (używamy nieudanej pracy na górze o nazwie Symfony CMF, która jest wykonana mniej powolny dla psa przez dręczenie mojego menu, ale tak jest wciąż nieudokumentowane, niezrozumiałe, nie poddaje się narzędziom do analizy kodu statycznego i ogólnie jest zepsute i powolne). Nie używamy tej samej ORM (doktryny). Używamy niektórych komponentów Symfony 2, jednak dla programisty „końca” jest bardzo mało widoczna. Na przykład, dość myląco , czasami musisz użyć zdarzeń (to, co było hook_boot / hook_init w D7 jest zastąpione przez zdarzenia jądra HTTP Symfony), podczas gdy najczęściej Drupal nadal używa swoich hooków. Myląca jest nazwa gry, w której Symfony 2 wchodzi w interakcję z Drupalem. Jest to bardzo słabe dopasowanie, a (nie) ilość dokumentacji dotyczącej tego, jak to się dzieje (nie), czyni go jeszcze trudniejszym.

Edycja: korzystamy z kontenera usług http://symfony.com/doc/current/book/service_container.html co najmniej jego statycznych części - jednak dynamiczne dodawanie i modyfikacje usług są dokonywane za pomocą specyficznych środków Drupal (usługodawcy, którzy łączy się z systemem specjalnym magicznym sposobem, który nie jest ani wydarzeniem, ani hakiem. Witamy w Drupal 8.)

Więc: jeśli znasz Symfony 2 od środka i na zewnątrz, to trochę z tego będzie można wykorzystać w Drupal 8. Jeśli nie, to nie zawracaj sobie głowy książkami lub samouczkami z Symfony 2.


źródło
3
Dziękuję za wasze liczne komentarze, chx, i odważę się powiedzieć uczciwe spojrzenie na użycie Symfony 2 D8; oraz nowe interfejsy API dostępne w D8.
tenken
Nie zrozum tego źle, ale kim jest „my”? Czy należysz do podstawowego zespołu Drupal?
Johnny
2
lol @johnny. chx został założony. Powinieneś po prostu zrobić coś takiego jak przeszukiwanie drupal.org przed takim pytaniem: drupal.org/user/9446
Mixologic
@Mixologic To nie jest sprawa osobista. Powiedziałem, nie bierz tego źle. Byłem ciekawy, czy chx był częścią zespołu podstawowego. Chx rozmawiał z autorytetem. Chciałem wziąć to jako takie i nie marnować czasu na martwienie się o Symfony 2.
John
@johnny: przepraszam, nie chciałem natknąć się na snarka. Bardziej zdziwiony, że ktoś nie wiedział, kim jest chx. Ja też nie wiedziałem, kim był chx przez długi czas. Próbowałem pokazać, że świetnym sposobem na określenie wiarygodności / autorytetu niektórych osób w społeczności Drupal jest sprawdzenie strony użytkownika na drupal.org.
Mixologic
6

„Dorastałem” na Drupal, więc zawsze byłem facetem proceduralnym (Drupal jest moim głównym / jedynym narzędziem do tworzenia stron internetowych, które jest moją pracą). Na początku byłem bardzo zdezorientowany, kiedy zacząłem używać Drupala 8. OOP nie było takie trudne, odkąd znałem OOP, ale nowa architektura była trudna do opanowania. Ale po dwóch tygodniach znów poczułem się jak w domu. Ta strona i # drupal-przyczyniały się bardzo mi. Przeczytałem trochę informacji z dokumentacji Symfony, aby zrozumieć kontrolery w zasadzie i nie. Pracuję z D8 przez 4 miesiące i znów czuję się jak w domu.

Wszystko się zmieniło, ale szybko poznasz nowe sposoby. Naprawdę nie musisz się uczyć WSZYSTKIEGO. Ja nie.

Jedną rzeczą, która sprawiła, że ​​DUŻO było dla mnie łatwiej, zmieniłem moje IDE z NetBeans na PHPStorm, ponieważ NetBeans nie obsługiwał przeglądania odziedziczonych metod. Po kilku miesiącach nie rozumiem, jak mogłem używać NB :) (chociaż praca z Git w NB jest dla mnie znacznie lepsza)

Aby odpowiedzieć na twoje pytanie: absolutnie nie musisz uczyć się Symfony. Aby ułatwić sobie życie, spójrz na pliki * .services.yml w modułach (które je implementują), a także kieruj wywołania zwrotne w dowolnym module * .routing.yml, aby zrozumieć wywołania zwrotne strony (z menu hook_menu w D7).


źródło
Czy uważasz, że nauka programowania w 7 będzie przydatna w 8?
Johnny
Cóż, i tak musisz nauczyć się koncepcji Drupala, więc to naprawdę nie ma znaczenia. Nadal obowiązują w D8. Chociaż jeśli dopiero zaczynasz, nie ma sensu wracać do D7.
cześć, pracowałem z Drupalem 7 około 4 lata i ostatnio chcę się nauczyć drupala 8, nie wiem od czego zacząć, co miałeś na myśli przez # drupal-przyczynić @IvanJaros?
Shirin Abdolahi