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
@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: 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
@pitu120: pewnie ilu programistów tyle opinii, ja na ogół przyjmuję takie założenia:
* logika związana bezpośrednio z endpointem, rzeczy potrzebne żeby zwrócić response - controller
* inna struktura danych w api, inna w bazie - dto + transformer
* zadania "poboczne", takie jak np. wysyłanie maili albo innych powiadomień - listener
* niestandardowe źródło danych, np. redis albo zewnętrzne api - provider/persister

Ale ostatecznie i tak zależy to od konkretnego
  • Odpowiedz