Comments 8
А чем не подходят API Resource?
Скорее всего автор плохо изучил возможности фреймворка и решил изобрести уже встроенную фичу
Не исключено. Но лично по моему опыту почти трёхлетней работы с Lumen и полным отказом от использования ресурсов (так исторически сложилось), делали обёртку вроде той что в статье. И нет, это было не в лохматых годах - в начале 20-х. Внезапно.
В том числе по этой причине я решил перевести статью и выложить на Хабре.
В Laravel есть прекрасный сервис контейнер, данную статью можно было бы дополнить как реализовать инъекцию зависимостей используя что-то вроде ResponseProvider. Т.к. статья о том как улучшить, чтобы затем грамотнее было работать, когда потребуются правки. А в итоговом коде в каждом методе классы создаются внутри. Соответственно, если решите поменять класс, нужно править каждый метод и проверять все места где они используются.
Теперь представьте, что, по мере роста API, Вам понадобится реализовать ещё одну модификацию ответа - например, добавить флаг JSON_UNESCAPED_UNICODE
Тогда идеи лесом обратная совместимость апи. Представьте, что ваши потребители давно ждут определенный формат ответа, а вы таким образом все свои апишки сломали. Обычно если и надо какое то апи расширить, то его точно и добавляют, но не ломают уже существующие.
Опять же если у вас не такая ситуация, что потребитель один - и это вы сами.
Один класс, что правит всеми или как улучшить респонс в Laravel