Katulos
Существует ли искаробочное решение для пагинации в rest?
Katulos
Дабы не юзать pagerfanta
Katulos
Посмотрел, оно ещё более дикое
Katulos
И они оба слегка не совместимы с версионированием
Katulos
Это долгая история
Anonymous
Cedo Alteram будет жить. Поприветствуем!
Рома
всем привет) посоветуйте best practice для api, я использую fosrestbundle, есть метод postCreateBookAction, какой вариант будет правильный для создания записи в бд
1) с помощью форм, $form = $this->createForm..
2) $book = new Book(); $book->setTitle('title')
Alexander
Бестпрактис будет не использовать фосрест и формы в апи
Alexander
Сериалайзер в помощь в общем
Alex
Katulos
Alexander
А зачем фос нужен? Достаточно будет сериалайзера
Katulos
там какая то боле удобная магия с view и роутами
Katulos
На мой дилетантский взгляд
Katulos
Alex
Конечно
Alexander
Вот именно что магия:)
Katulos
стороннмим банлами, которые тоже тянут все интернеты в вендоры?
Katulos
"white-october/pagerfanta-bundle": "^1.0",
Alexander
Вообще можно попробовать api platform
Katulos
ну да, они родимые
Katulos
Alexander
Да
Katulos
Ээээ
Alex
Он для первой версии оч деревянный был
Alex
Ну прям очень
Katulos
yarn add ...
Katulos
что то не то :)
Alexander
Эм
Alex
Щас вроде как его обновили, особо не тыкал
Alexander
Там просто есть генератор админки
Alexander
На реакте, вью
Katulos
это же жс, не?
Alexander
Нет
Alexander
API Platform is a powerful but easy to use full stack framework dedicated to API-driven projects. It contains a PHP library to create fully featured APIs supporting industry-leading standards (JSON-LD, GraphQL, OpenAPI...)
Katulos
Надо в выходные попробовать
Katulos
может в там уже решены мои проблемы с версионированием и пагинацией
Alexander
А какие проблемы возникли?
Katulos
При прикручивании пагинации не работали роуты и версионирование апи через аннотации
Katulos
Скорее всего я что то делал не так, но тем не менее
Олексій
Этот api platform очень сильно тормозной
Katulos
Чому?
Олексій
Хз. Мерял перформанс год назад, респонз был чуть ли не 350 мс, в то время как фосрест давал 50мс
Katulos
Katulos
У меня на локалхосте в виртуалбоксе это добро адово лагает
Олексій
Локально в докере
Katulos
В то время как код на других фреймворках летает штатно
Katulos
Симфония как то не дружит с расшареными папками что ли
Олексій
В докере симфа просто космически быстро летает.
Олексій
Если только докер не на маке.
Вадим
Что за проблема с пагинацией у всех в апи?
Вадим
Зачем пейджерфанты?
Вадим
В чем постоянно сложность, что б тянуть кучу бандлов, для генерации джсона?
Katulos
Nikolay
ㅤ
Не хтз случайно?)
Serezha
Все апишки писал на базе стандартных контроллеров вьюх аннотаций репозиториев
Serezha
Код пагинации примитивный егл можно закопипастить один раз написав
Serezha
Бандлы для Симфони такого плана мне кажется мертвые тк разработка АПИ на другие языки переезжает и нет норм хакеров поддерживать мертвые бандлы
Олексій
Anton 🐻
если я в рамках одного запуска скрита несоклько раз делаю один и тот же селект к БД, то return $builder->getQuery()->getResult(); выдаёт мне один и тот же релультат если даже данные в БД изменились?
Anton 🐻
я запили воркер который делает выборку данных из бд, но чото в каждый цикл он получает одни и теже записи одной и той же версии.
Вадим
Anton 🐻
херня
Anton 🐻
нормально ответить можешь
Вадим
Там все написано
Вадим
нормально ответить можешь
Sometimes you want to clear the identity map of an EntityManager to start over. We use this regularly in our unit-tests to enforce loading objects from the database again instead of serving them from the identity map. You can call EntityManager#clear() to achieve this result.
Anton 🐻
спасибо, вроде стало лучше
Katulos
Alexander
Опять пхп хоронят?:)
Serezha
Бандлы хороним
Alexander
Бандлы то да
Serezha
Апишку писать на чистой симфонии и запускать поверх RoadRunner
Serezha
Но это в теории