
Artur
14.11.2016
20:23:39
Чатик та живой

Aleksandr
14.11.2016
20:24:30
так этож хорошо)
и всё же, почему везде в пример Sylius?
даешь дискусию!

Google

Aleksandr
14.11.2016
20:31:04
судя по гисту, ты собрался инжектить сервис в сущность?
говно ваша реализация
я хочу подискутировать на тему логики в сущностях доктрины
notify
public function notify
в таком случае согласен)
но всё равно логичнее сделать обычный сервис или ивенты
а то человек посмотрит на твою реализацию, и нахерачит логики в сущности
или не дай бог контейнер туда сунет
да даже если это "прокси" метод
всё равно не есть хорошо
инкапсуляция ради инкапсуляции, зачем?
ну идеальный вариант с сервисом, в котором проверить instansOf через интерфейс и отправить там же через мейлер

Google

Aleksandr
14.11.2016
20:57:49
гибко и аккуратно
а главное взглянув на код все будет понятно

Rodion
14.11.2016
21:00:23
только ты забываешь, что это все для репрезентаций доменных моделей для конкретной ORM, и нотификация тут ни причем вообще.
ENTITIES (MOSTLY) REPRESENT YOUR DOMAIN
THE DATABASE IS JUST SAVING THINGS
DESIGN ENTITIES FIRST
DEFINE THE DATABASE AFTER MODELING YOUR DOMAIN

Aleksandr
14.11.2016
21:01:07
проверить что объект переданный нам реализует интерфейс
потому что в проверке мы можем принять решение
может быть у тебя 2 интерфейса
один для админа другой для обычного юзера
ну или типа того

Rodion
14.11.2016
21:04:23
и в целом подавляющее большинство советов из этой презы подходит херово для симфони

Aleksandr
14.11.2016
21:04:42
можно и тайпхинт
тут уже пофигу
надо смотреть задачу

Rodion
14.11.2016
21:22:50
1. сущность доктрины это не то же самое, что сущность из DDD.
2. передавать сервис в сущность, чтобы вызвать у него метод и передать в кач-ве аргумента эту же сущность - охуенный мув.

Aleksey
15.11.2016
03:36:58
symfonycamp начали выкладывать видео докладов: https://www.youtube.com/channel/UCd1Ds7u1mAjEwHrZ9jG1Arg/videos

Roman
15.11.2016
09:49:42
киньте реализацию DDD. Хочу посмотреть пример нормальный

Алексей
17.11.2016
10:33:28
Кто-нибудь может показать пример описания документации для NelmioApiDocBundle в случае когда описываются параметры POST-запроса?
То есть, когда в экшене данные получаются через
$request->request->get('parameter');

Salavat
17.11.2016
14:27:43
Доброго здравия, господа.
Кто-нибудь работал со Sphinxом? Интересует поиск по многим критерям, которые фактически в сущностях определены как many to many, например.
Какие запросы вы пишите в таком случае в sphinx конфиге? Или просто кучу joinов и все?
Вариант с ElasticSearch пока не рассматриваю. Благодарю
Или через sql_attr_multi ?

Aleksey
17.11.2016
15:44:56
@skobkin там есть filter, requirements и parameters
выбирай какие тебе надо :)

Google

Ivan
18.11.2016
13:14:18
Доктрина позволяет делать так: $user = new User({"firstname" => "John"})? Или ручками через reflection?

Alexander
18.11.2016
13:15:27
Не позволяет. Либо рефлексия, либо factory method

Ivan
18.11.2016
13:15:46
Ок, спасибо!
Интересно, почему не позволяет. Не продумали или плохая практика?

Alexander
18.11.2016
13:17:54
Ну, по хорошему конструктор подконтролен пользователю и там может быть что угодно
__consutrct($firstname) в вашем случае

Алексей
18.11.2016
13:42:14
В этом суть Data Mapper - сущности не в курсе, как и где они хранятся и что существует доктрина.

Ivan
18.11.2016
13:44:09
понял, спасибо! Просто думал в доктрине есть готовая реализация

Алексей
18.11.2016
13:44:36
Готовая реализация чего?

Alexander
18.11.2016
13:44:51
а зачем это нужно, если не секрет? возможно делаете что-то неправильно, если это понадобилось

Алексей
18.11.2016
13:51:05
Нет особого смысла реализовывать смену свойств при создании экземпляра класса через жопу (рефлексия), если есть конструктор.

Ivan
18.11.2016
14:08:43
Просто массовое присвоение свойств без сеттеров. При первом создании сущности, например. Допустим получили объект через апи в виде json и сразу загнали его в сущность

Алексей
18.11.2016
14:09:27
Конструктор, Фабрика, Фабричный метод

Alexander
18.11.2016
14:09:30
Возможно вам нужно взглянуть сюда: http://symfony.com/doc/current/components/serializer.html

Алексей
18.11.2016
14:09:51
В том числе, да.
И ещё на JMS Serializer, который менее гибок, но из коробки может больше.
Кстати, никто ещё не реализовывал ничего подобного JMS Serializer на основе Symfony Serializer? Чтобы тоже было правильное разделение нормализации и сериализации, но при этом функциональность была больше из коробки.

Ivan
18.11.2016
14:12:01
Хмм, что-то забыл про сериализатор, точно. Мерси!

Daniel
18.11.2016
14:42:09
JMS Serializer не советуют использовать жи
Не помню, но рассказывали, что при каких-то случаях он жутко тормозит всю картинку...

Google

Daniel
18.11.2016
14:42:14
И не развивается уже сто лет
И не будет
Или я чо то путаю и не слушайте меня...
Походу меня обманули, а я не проверил информацию и высказал здеся о:
Короче из минусов там:
1) иногда просто так сериализует массив как хэш-мэпу, лечится кастылями в виде листенеров
2) надо замэпить json на существующий объект — лепим object creator
3) inline — работает только в одну сторону, без возможности задать кастомный префикс. бесполезная фича. В принципе очень много фич работающих наполовину.
4) шаг в право/шаг в лево — пишем свои хэндлеры или листенеры, много лишнего кода, не особо прогнозируется необходимость писать этот код. Много рисков.
5) версионизация API? переименовали пропертю? Пишите свои хэндлеры, мэппингами вы это так просто уже не разрулите.
6) в принципе для тупого CRUD сойдет, но чуть сложнее — и все… приплыли к морю кода. Быстрее руками мэппинги сделать.
7) медленно. У меня были проекты где jms serializer занимал 50% времени генерации респонса.


Алексей
18.11.2016
14:50:52
Нашествие Symfony-разработчиков?

Daniel
18.11.2016
14:56:55
Не помню кого, но цитата

dypa
18.11.2016
14:58:48
про sonata admin bundle могу сказать что с коллекциями там работа сделана ужасно, мейнтейнер проекта не очень

Daniel
18.11.2016
14:59:54
Аналогов нету

dypa
18.11.2016
15:00:20