Size: a a a

2021 March 19

AF

Alexei Fedorov in symfony
Ребят, вернусь к вопросу о Rich Domain Model

1) Извлечение данных из реквеста, форматирование, валидация происходит в бизнесс логике - контроллер
2) в констрактор методе модели сущности задаём аргументы (тут вариабельно)
3) И там же в модели сущности создаём метод сreate и edit для создания и правки экземпляра
4) Сервисы используем для сторонних сервисов - отправка данных на другой сервер, отправка писем, логи.

Примерно так?
источник

AN

Alexander Nazarov in symfony
Мирко Крокоп
Ребята, тут назрел вопрос по автоматизации генерирования документации)

На одном из докладов услышал интересную мысль о автоматическом обновлении доки Apiary из аннотации в рамках CI/CD. Тогда эта мысль не заинтересовала.

А сейчас пришел к ситуации, когда править Apiary доку приходится несколько раз в неделю. Начал гуглить о возможности автоматического обновления и что то приуныл. Информации с гулькин нос.

Если из коробки, вдруг, недоступно, было бы здорово хотя бы  совместить с NelmioApiBundle...


Буду очень благодарен, если поделитесь ссылочками на материалы по теме.
разве apiary не понимает свагер формат?
источник

AN

Alexander Nazarov in symfony
Мирко Крокоп
Ребята, тут назрел вопрос по автоматизации генерирования документации)

На одном из докладов услышал интересную мысль о автоматическом обновлении доки Apiary из аннотации в рамках CI/CD. Тогда эта мысль не заинтересовала.

А сейчас пришел к ситуации, когда править Apiary доку приходится несколько раз в неделю. Начал гуглить о возможности автоматического обновления и что то приуныл. Информации с гулькин нос.

Если из коробки, вдруг, недоступно, было бы здорово хотя бы  совместить с NelmioApiBundle...


Буду очень благодарен, если поделитесь ссылочками на материалы по теме.
NelmioApiBundle на сколько я помню есть консольная команда которая выдаст doc.json. Этот doc.json по идее можно скормить apiary
источник

МК

Мирко Крокоп... in symfony
militska
я генерила документацию при сборке образа для прода
А если не секрет, по какому алгоритму действий?)
источник

AN

Alexander Nazarov in symfony
я ничего не отправлял туда. Но в целом думаю должна быть возможность обновиться через их апи. Это надо в доке апиари смотеть
источник

m

militska in symfony
через гитлаб си запускается мультистжэдж сборка образа, и на первой вроде стадии генерится дока
источник

m

militska in symfony
апидок джс
источник

AK

Anton K. in symfony
Alexei Fedorov
Ребят, как лучше из запроса создавать экземпляр сущности?

Пока я вижу только
1) данные тела Request $request->toArray();
2) каждое свойство назначать через сеттеры.

Но есть же более гумманный способ, верно же?
через формы не подходит?
источник

AK

Anton K. in symfony
замапить запрос на форму через property_path с валидацией
источник

m

militska in symfony
на другом проекте в скрипте наката запускается генерация  сразу пула изменений. но там на сервере нода стоит =\
источник

МК

Мирко Крокоп... in symfony
militska
через гитлаб си запускается мультистжэдж сборка образа, и на первой вроде стадии генерится дока
спасибо, хочу так же сделать!👍🏼
А в сам Апиари вы отправляли файл свагера через CLI модуль?
источник

m

militska in symfony
я через это генерила +слой с нодой
https://apidocjs.com/
источник

m

militska in symfony
но скорее всего аналогично. как бы есть файлики, с докой. и более менее понятно чем генерить
источник

A

AlexS in symfony
вопрос не по симфони, но всё такие
подскажите, насколько правильно группировать штуки в объекты не по тому, насколько вместе они ходят, а по тому, что они вместе влияют на что-то, но друг на друга они никак не влияют и могут меняться совершенно независимо друг от друга?

поясню на примере - есть условная сущность Car. У машины есть флаг - показывать ли её в рекламе. Если машина красная, бэушная, это не седан и у неё пробег больше 100к - не показываем её в рекламе. И вопрос в том - стоит ли объединять эти свойства в какой-то VO, чтоб было проще вычислять флаг рекламы или это говноидея?
источник

AC

Andrew Chernysh in symfony
Alexei Fedorov
Ребят, вернусь к вопросу о Rich Domain Model

1) Извлечение данных из реквеста, форматирование, валидация происходит в бизнесс логике - контроллер
2) в констрактор методе модели сущности задаём аргументы (тут вариабельно)
3) И там же в модели сущности создаём метод сreate и edit для создания и правки экземпляра
4) Сервисы используем для сторонних сервисов - отправка данных на другой сервер, отправка писем, логи.

Примерно так?
а я бы сделал первый пункт в другом слое. А в контроллер уже сущность провалидированную принимал
источник

SZ

Sergey Zolotov in symfony
php-amqp и rabbitmq-bundle наконец-то очухались. теперь полностью совместимы с пхп8

https://github.com/php-amqplib/RabbitMqBundle/releases
источник

AF

Alexei Fedorov in symfony
Andrew Chernysh
а я бы сделал первый пункт в другом слое. А в контроллер уже сущность провалидированную принимал
То есть формы?
источник

AC

Andrew Chernysh in symfony
Alexei Fedorov
То есть формы?
нет, Дто принимал бы в конроллере, а валидацию на уровне Resolver делал.
источник

AN

Alexander Nazarov in symfony
AlexS
вопрос не по симфони, но всё такие
подскажите, насколько правильно группировать штуки в объекты не по тому, насколько вместе они ходят, а по тому, что они вместе влияют на что-то, но друг на друга они никак не влияют и могут меняться совершенно независимо друг от друга?

поясню на примере - есть условная сущность Car. У машины есть флаг - показывать ли её в рекламе. Если машина красная, бэушная, это не седан и у неё пробег больше 100к - не показываем её в рекламе. И вопрос в том - стоит ли объединять эти свойства в какой-то VO, чтоб было проще вычислять флаг рекламы или это говноидея?
сложно по такому описанию что то посоветовать. Если Car может на основе своих данных типа, седан, пробег и т.п. вернуть true\false рекламы то почему бы это не сделать просто методом?

Но если логика определения рекламы не такая явная, и может быть сложнее таких простых правил как пробег и тип, ну скажем пользователь забанил автора этой тачки, и не хочет видеть с ней рекламу, то true/false уже так просто не посчитать.

Если речь о каком то ДТО который должен передаться с флагом релкамы, то вполне нормально его просчитать заранее и передать как флаг. Тут наверное в дело должны включаться контексты.
источник

AF

Alexei Fedorov in symfony
Млин! Столько вариантов. И все рабочие.
- валидация (оптионрезолвер или формы)
- DTO можно получить ещё через RequestDTOResolver до отработки контроллера
- RichDomainModel  (совместимо с RequestDTOResolver?)

Весь день знакомлюсь с теорией, и не к чему конретному не пришёл((
источник