Wpis z mikrobloga

Luźne pytanie z rana do mirków z #php #symfony.

Czy używacie produkcyjnie #apiplatform ? Wiem, że np. #sylius z tego korzysta żeby wystawić API ale... czy to powszeche? Czy to może overkill?

API platform sporo załatwia out of the box (np. paginacja, filtrowanie) ale też sporo dorzuca od siebie. Jakieś "magiczne" definicje dla endpointów, które leżą na encji. Chcesz symfony messenger? Dodaj tylko parametr. Zamiast votera (fakt, można nadal z niego korzystać) dodaj sobie linkjkę w encji, itp. itd.

Zastanawiam się czy jest sens pchać się w ten projekt bo jest przyszłościowy, czy może to zabawka na teraz, a może już widać, że odchodzi się od tego i korzysta z czystego symfony?
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mirunek:

> definicje dla endpointów, które leżą na encji


U amatorów tak ( ͡° ͜ʖ ͡°) Należy mieć tu dwie klasy w praktyce (co najmniej). Jedna reprezentuje Response Object / DTO pod kontrakt api, gdzie ją kolorujesz tymi magicznymi Adnotacjami/Atrybutami/yml/xml. A Encja domenowa to co całkiem co innego i ona nie wie o istnieniu api-platform.

@JackBauer: trochę jak wyżej, jak się traktuje to jako
  • Odpowiedz
@mirunek: Trzeba odpowiedzieć tak jak zawsze w IT:

To zależy.

Na przykładzie #sylius, jeżeli miałby to być sklep internetowy, bez niestandardowej skomplikowanej logiki biznesowej, to dlaczego nie? Z jakiegoś jednak powodu twórcy #sylius przeszli do #apiplatform

Dzięki właśnie #apiplatform #sylius jest postrzegany jako rozwiązanie typu "headless", gdzie z powodzeniem integrują go z Vue Storefront
  • Odpowiedz
@mirunek: ja się w to wbiłem ale bez podziału ładnie na domeny tylko full yolo bo miał być tylko proof of concept, teraz muszę to rozwijać i przeklinam; zaglądam też czasem w ten ich kod w vendorze i mam wrażenie jakby ktoś próbował Laravela przenieść na Symfony. Szczególnie polecam ich docsy online bez opcji wybrania wersji...
  • Odpowiedz
@mirunek: z początku #apiplatform wydaje się fajne, ale im więcej skomplikowanych, niestandardowych rzeczy tym bardziej będziesz przeklinać to narzędzie. Zresztą popatrz sobie do symfonycasts jakie czasem cuda trzeba wyczyniać w contextbuilderach, dekoratorach, na różnych etapach de/serializacji żeby osiągnąć coś co w klasycznym API zajęłoby 5 minut w prostej warstwie abstrakcji.
  • Odpowiedz