Roman
Ко всем полям прописываем доктриновские `@ORM`-аннотации с указанием типа и связей
Да, уже увидел. А вот как подружить потом объект с логикой и сущность?
Roman
Это и есть сама сущность с логикой
воот. А в соседнем чате насовали, что (цитата): POJO объекты (Entity, VO, DTO) работают со своими данными и друг с другом, но не учасвтуют как члены приложения (не зависят от сервисов каких-либо, а именно ими жонглируют др севрсиы) вот у нас коллекция сущностей, например 100 шт, вы сериалайзер вкаждую закинете? а как сериализовывать будете? или в коллекцию закинете сериалазйзер?
Roman
> А в соседнем чате.... Именно. Сами объекты User, Lot, Email и т.п. содержат и управляют своими данными. Они не знают, кто их и как сохраняет или сериализует.
Так вот, у меня есть сущность Widget, со своими зависимостями. Я создаю слой бизнес логики, еще один Widget, но не сущность? Или я опять не понимаю идеи?
Dmitry
воот. А в соседнем чате насовали, что (цитата): POJO объекты (Entity, VO, DTO) работают со своими данными и друг с другом, но не учасвтуют как члены приложения (не зависят от сервисов каких-либо, а именно ими жонглируют др севрсиы) вот у нас коллекция сущностей, например 100 шт, вы сериалайзер вкаждую закинете? а как сериализовывать будете? или в коллекцию закинете сериалазйзер?
> Вы сериалайзер в каждую закинете? Закидывают обычно сущность в сериалайзер, а не сериалайзер в сущность: $arr = array_map(function($entity) { return $srlzr->serialize($entity); }, $entities); Но интереснее не использовать доменные сущности для выборок, а использовать модель чтения на голых DTO.
Roman
Не понимаете идеи. Сделайте просто одну сущность Widget без зависимостей.
Ок, создал. Но у нее, к примеру, есть владелец - User. Это тоже Entity на "нижнем" слое.
Dmitry
Ок, создал. Но у нее, к примеру, есть владелец - User. Это тоже Entity на "нижнем" слое.
Тогда либо сделайте поле private $user, опишите ему связь ManyToOne на сущность User и в юзкейсе передавайте туда сущность new Entity($id, $user) в конструктор. Либо вместо поля private $user сделайте поле $userId без связи. Так будет более экономно, менее зависимо и удобнее в юнит-тестах. Но тогда в контроллере для вывода вместо сериализации сущностей делайте отдельные выборки через DBAL напрямую из БД без сущностей.
Дмитрий
Разные весовые категории https://t.me/oop_ru/151827
а как же Symfony+React так сказать два кита в своих нишах, все таки ангуляр мне кажется менее популярен (сдулся) по сравнению с React
Vlad
а как же Symfony+React так сказать два кита в своих нишах, все таки ангуляр мне кажется менее популярен (сдулся) по сравнению с React
Вообще пофиг что на фронте))) это два разных приложения и они никак друг от друга не зависят
Vlad
если ты 100-бэкендер то да, а если 80\20-фуллстэк то нет )
ну в таком случае все упирается в знания того что на фронте)
Vlad
нет
почему?
Иван
почему?
потому что если фронт будет кривой и перегрузит бек запросами, то плохо станет всем
Vlad
потому что если фронт будет кривой и перегрузит бек запросами, то плохо станет всем
Это применимо ко многим аспектам и никак не зависит от того какая у вас связка
Иван
Это применимо ко многим аспектам и никак не зависит от того какая у вас связка
вот этот новый фронт в отличии от винтажного сколько запросов генерит на бек?
Иван
сколько этих запросов конвертируется в запуск фреймворка и сколько потом в запросы к базе данных?
Иван
вот потому и нет, не пофиг
Vlad
вот потому и нет, не пофиг
мы обсуждали связки фронт и бэк технологий и что нет разницы какие грабли вы выбераете на фронте, потому что бэку фиолетево на чем написан фронт и наоборот А вы сравниваете статику генерируемую на сервере с мейнстрим подходами))
Vlad
И если вы имея приватное апи не делаете какие то агрегирующие эндпоинты например на получение пачки данных для инициализации приложения то это проблеммы уже архитектурные
Иван
потому что в мейнстриме сейчас уебанство чистое рест апи работает хорошо, если реально рест интеграция клиент серверная а если веб приложение, то надо думать про всё сразу
Иван
ко мне вот сегодня обратились с вопросом, сколько человекочасов стоит перетащить типа статику на реально статику а в типа статике вебкомпоненты с шадоврутом, просто пересохранить страницу нельзя
Vlad
потому что в мейнстриме сейчас уебанство чистое рест апи работает хорошо, если реально рест интеграция клиент серверная а если веб приложение, то надо думать про всё сразу
то что сейчас разработчики называют REST не является им, не надо пытаться прикрутить инструмент туда где он не применим)
Roman
NelmioApiDocBundle - почему могут не отображаться все свойства сущности? Прописал в groups, выводится часть, остальное не выводится.
Roman
/** * @Groups({"widget"}) * @ORM\Column(type="string", length=255) * @Assert\NotBlank() */ private $name; Вот это отображается
Roman
/** * @Groups({"widget"}) * @ORM\Column(type="string", length=255) * @OA\Property( * type="string", * ) */ private $primary_background_color;
Roman
вот это нет
Roman
Заметил закономерность - не отображаются названия_с_нижним_почеркиванием. Из одного слова все ок
Roman
Не повезло любителям snake case)
Точн )) переименуем, не проблема
Roman
а как правильно описать в NelmioApiDocBundle создание сущности? Можете примером кинуть?
Vlad
Vlad
RegistrationRequest это dto
Roman
Большое спасибо
Roman
RegistrationRequest это dto
Да, я уже понял
Vlad
@Friendsys в том чатике по симфе могут люлей дать за такие вопросы)))
Roman
А че там - пафосный чатъ?
Vlad
А че там - пафосный чатъ?
Там дяди серьезные)
Roman
Пфф ) все серьезные дяди мечтают побыть несерьёзными ))) поглядим...
Roman
Не пойму, почему так мало инфы по Nelnlmio
Vlad
на выходе будет как то так
Roman
Вроде бы полсообщества его пользует
Roman
Очень хочется вникнуть
Vlad
Не пойму, почему так мало инфы по Nelnlmio
есть такое, методом тыка + анализа кода можно понять как работать
Vlad
да и она расширяет пакет https://github.com/zircote/swagger-php
Vlad
просто надо понять что Nelmio не сканирует все файлы, а только контроллеры на котторые есть роуты
Vlad
а там все через Model
Roman
а там все через Model
Они пишут еще про формы в доке, но там еще менее понятно )
Roman
В общем, утром буду пробовать создание. Список и конкретную запись получил.
Vlad
@Friendsys @OA\Parameter
Roman
@Friendsys @OA\Parameter
Крутил его сегодня со всех сторон )
Vlad
@OA\Parameter(in="body", name="field", @OA\Schema(type="integer", default=Page::DEFAULT_LIMIT))
Vlad
хотя не, вру, это в старой версии работает
Roman
Кстати, при установке версия 4.6 требует логгер версии 1, а 4.2 требует 2.х
Roman
Странно
Vlad
@OA\RequestBody > @OA\Schema > @OA\Property вот так описать можно форму с указанием типа контента форма
Roman
И бандл подхватит ее?
Vlad
И бандл подхватит ее?
тебе надо описать схему
Vlad
json форма xml это все схема
Roman
Ну с DTO я историю плюс-минус понял
Roman
Ааа
Roman
4.6 ругается и не ставится
Vlad
Ааа
@Model это автогенерация схемы
Vlad
если у тебя последняя симфа
Vlad
5.3.10
тогда только dev-master там мой царский PR на 2 строки фиксит поддержку последней симфы)))