Сергей
из интересного в старой версии - @Model
Андрей
И что лучше?)
Юра
Как по мне луче не использовать бандлы.
Юра
Ну которые делают кучу абстракций
Сергей
и фреймворки. берешь psr7 interface и пошел... )
Юра
Не ну не до крайностей
Юра
Симфа сама по себе уже много всего делает за вас
Юра
Еще сверху налепить кучу абстракция над абстракиями и глядишь уже вообще не понимаешь как оно работает
Сергей
ну бандл на основе zircote swagger Мне нравилось, что через Model указываешь DTO\Form - он ее в schema тянет - удобно довольно. но и были проблемы с ним ( особенность приоритетов property extractor) когда он не мог понять, че там за тип у модели.. ну это решается довольно просто - указать в лоб)
Юра
Ну серьезно вот нафига мне тот апи платформ если я накидел свой понятный бек за примерно то же время что я потратил на изучение апи платформ. При этом я знаю как это работает, я знаю как быстро пофиксить баг или что-то сделать кастомно если потребуется. Мне не надо создавать ишью чтобы понять что за непонятная ошибка вывалилась там из недр этого фреймворка
Юра
Простой пример - на фронте есть автокомплит селект, и мне нужен был эндпоинт который бы делал все то же самое, фильтра там и т.д., но делал hydrarion в массив, не юзал пейджер и выводил простой json типо [id, name]
Юра
У себя я сделал это реально там пару строк дописал
Юра
С апи платформ пришлось бы городить уже огород
Maxim Kainov
Простой пример - на фронте есть автокомплит селект, и мне нужен был эндпоинт который бы делал все то же самое, фильтра там и т.д., но делал hydrarion в массив, не юзал пейджер и выводил простой json типо [id, name]
Че то не верится, что там это сложно сделать ) а нельзя апиплатформ использовать везде, а там где надо не использовать? Или это тоже проблематично? )
Юра
Наверное можно
Юра
Только зачем тогда апи платформ )
Юра
Ладно я как обычно лезу со своим мнением. Сорян
Сергей
С апи платформ пришлось бы городить уже огород
Да не,решается группами на операцию и пагитнация офф Тут вот без проблем
Maxim Kainov
Только зачем тогда апи платформ )
Ну там где с ним быстрее его юзать
Юра
Мне надо было возвращать большой список, энтити мне не нужны там
Maxim Kainov
Сергей
Для оптимизации типа?
Юра
Да просто иначе сервер падает памяти мало
Юра
Там тысячи записей
Сергей
Включаем пагинацию😂
Юра
Надо было бы писать кастомную операцию скорее всего я понимаю
Юра
Незя ) Короче там у фронтов какой-то селект, которому нужны все все записи
Юра
Не спращивайте зачем
Сергей
Бек не упадет,но упадет браузер)))
Сергей
Скажут,что пхп гавно))
Юра
Кстати народ еще наблюдение. Почеум-то про это все забывают
Юра
Простой gzip респонса увеличил скорость сайта в разы, потому что данные намного быстрее выкачиваются с сервера
Юра
Наверное да. Видимо у нас не настроено было
Юра
По-поему в болшинстве сетапов нгинкс не сжимает ответы от пхп
Юра
Хотя мож это только у нас так было )
Maxim Kainov
Хз, должно сжиматься )
Юра
А да я вспомнил. Мне сказали что админ живет в лесу и что мне проще сделать это на своей стороне )
atcq (Алексей)
Незя ) Короче там у фронтов какой-то селект, которому нужны все все записи
а вариант с сохранением пагинации, но несколькими запросами с фронта?
Юра
Но вообщем надо это контролировать. Потому что если не сжимает, то можно ускорить неплохо так
Сергей
Я тут посмотрел исходники,правда с телефона.. по ходу гидрацию можно вырубить с помощью расширения return $extension->getResult($queryBuilder, $resourceClass, $operationName, $context);
Сергей
https://github.com/api-platform/core/blob/master/src/Bridge/Doctrine/Orm/CollectionDataProvider.php#L72
Daria
А да я вспомнил. Мне сказали что админ живет в лесу и что мне проще сделать это на своей стороне )
модуль "Дэвид Блейн" скукожит респонс оптимально вашим нагрузкам)
Юра
Скиньте ссылку, а если можно
Юра
а вариант с сохранением пагинации, но несколькими запросами с фронта?
Я так понял, так какой-то селект с какой-то js либы, и его фиг откастомайзишь
atcq (Алексей)
во всех кастомных селектах есть шаблонный метод для забора результатов по ajax (или из других источников)
Юра
там что-то типо такого, только фильтрация происходит на клиенте
Юра
не знаю зачем
Юра
и данные нужны все. Там не настолько много записей чтобы прям положить фронт, но достаточно чтобы серверу стало плохо все это через энтити делать
Юра
особенно сериалайзеру
Юра
Но в плюс апи платформ могу сказать что он помог очень быстро накидать апи для нового проекта
Юра
Вообщем я просто зол на него из-за того что недавно я его обновил и он поломал мне апи. Я писал уже на эту тему
Юра
Ну и были еще моменты многочасового дебага чтобы разобраться почему оно не делало то что мы ожидали
Юра
Да это мем однозначно
Юра
Я тут скукожил респонс
Андрей
А кто-нибудь знает, можно на Арт платформе получить дерево сущностей? Имеется ввиду референс энтити самой на себя через парент айди.
Юра
А чем это отличается от обычного рилейшена?
Юра
Там у свагера помню был баг с рекурсией вроде. Выдавал ошибку в доке. Но вроде пофиксили
Юра
MaxDepth еще аннотацию надо влепить желательно
Юра
У нас на проекте точно есть дерево значит можно такое сделать
Ivan
Кто-нибудь делает проекты без доктриновской ОРМ?
Ivan
Бывает и такое
Миграции вручную создаются?
Kirill
Миграции вручную создаются?
Миграции не использовались
Ivan
Ещё вопрос, где и как лучше оформить многоэтажный dbal запрос на основе гет параметров? Охото его вынести из контролера в репозиторий, но параметров слишком много.
Кирилл
@Cawa87 тут есть желающие совершить прогулку в бан
Кирилл
А тут была объява про поиск работников
Кирилл
для очередного говносайта, но видимо удалила сама
Юра
Ну или передавай ParamatererBag из риквеста
Юра
$repo->createMySuperQuery($request->query);
Сергей
лучше сделать какой нить объект Filter че то типа $repo->find(Filter::create($request));