Павел
Мы же чаще круд пишем, и на все это можно забить
Юра
Типо каждый сеттер дёргает check и ставит флаг
Юра
При флаше проверяем флаг
Павел
Зачем такие сложности?
Юра
Чтобы анемик модели делать )
Юра
Я не знаю. Я вообще всегда думал что энтити должна проверяться валидатором перед сохранением и вопрос невалидности энтити а процессе дерганья сеттеров как-то по фигу вообще
Юра
И можно легко зафорсить проверку что энтити провалидирована перед сохранением
Павел
Поидее куча проектов в сети и все на разных архитектурах. И Всё работает и приносит деньги. Просто что-то чуть более удобнее поддерживать и развивать, что-то менее. Где то лучше было одно, где то другое, а где то вообще пофиг.
Павел
А еще пересусложненный код на ровном месте хуже лапши. Но это имхо
Юра
Юра
Но если делаешь simple приходит строгий дядя Doebal Dmitrij Davidovih
Юра
И понеслось
Павел
Юра
Я как-то писал сервис, он быд написан не очень в плане архитектуры но работал и приносил деньги. Так вот однажды менч спросили, а если завтра тебя собьёт авобус что будет? )
Юра
И я так понял что хоть ДДД не поможет мне с автобусом, но другим будет проще
Nikolay
Юра
Юра
А если не а валидном то не будет сохранения
Nikolay
Юра
Ну вот так это все и начинается
Юра
Не буду
Nikolay
Многие подходы описанные в документации симфони это плохие практики
Юра
На костер его )
Павел
)))
Павел
Например можно вообще какой нить префлаш сабскрайбер повесить и проверять всё валидатором перед сохранением. Решает проблему "забыл вызвать валидатор". Да, сложнее тестить инварианты. А многие вообще тесты не пишут. И вот выходит а нафига всё это, тем более если круд)
Nikolay
Павел
Теже дифы миграций
Dmitry
Gleb
Arseniy
artem
* @Serializer\Accessor(getter="getEndDate", setter="setEndDate")
artem
на крайний случай
Viktor
я это делаю в своем бандле, который будет использоваться в нескольких других репозиториях. поэтому аннотациями не очень хочется
artem
use Symfony\Component\Serializer\Context\Normalizer\DateTimeNormalizerContextBuilder;
$contextBuilder = (new DateTimeNormalizerContextBuilder())->withFormat('Y-m-d H:i:s');
$serializer->serialize($something, 'json', $contextBuilder->toArray());
Andrey
Andrey
Andrey
Всем привет. Подскажите кто хорошо с доктриной знаком, из-за чего могут создаваться подобные запросы, и как их избежать?
Юра
Пагинация наверное
Павел
Там вроде есть в доке по пагинации доктрины как это убрать принудительно, НО только если нет one to many
Юра
И мени ту мени
Юра
Зачем придумали семвер кто-то знает?
Юра
Почему все на него болт кладут )
Юра
Хотя .. короче симфа измерила аргументы нормалайзера, в конструкторе
Юра
А у меня был налседник от него ну и все сломалось конечно
Vlad
а зачем наследоватся?
Юра
Ну вот понадобилось
Юра
Класс то не final
Vlad
ну поясни
Юра
Да вопрос не в этом. Перепишу на композицию
Юра
Вопрос в том что поменяли аргументы не финал класса в минорной версии
Юра
Совет из разряда не ломай и не сломается )
Vlad
ну нефиг наследования использовать))
Юра
А как же стул налседует от собаки потомк что к него четыре ноги?
Юра
В пхп не хватает как в джаве, визибилити на уровне пакетов. Да и пакетов не хватает. Да и джавы не хватает в пхп
Vlad
@internal мало?
Юра
И что это даст
Юра
Так бы можно было сервисы приватнве для пакета, а интерфейсы публичные
Юра
И все
Vlad
будет бить по рукам стат анализ
Юра
ну он бы бил если бы класс был почемен интернал
Юра
только кто это делает вообще
Юра
Ну кстати композиция тоже сломана
Юра
с их примера
Юра
public function __construct(UrlGeneratorInterface $router, ObjectNormalizer $normalizer)
{
$this->router = $router;
$this->normalizer = $normalizer;
}
Юра
Ошибка
Argument #2 ($objectNormalizer) must be of type Symfony\Component\Serializer\Normalizer\ObjectNormalizer, Symfony\Component\Serializer\Debug\TraceableNormalizer given
Vlad
зачем тебе реализация
Юра
затем что мне надо вызвать дефолтный если мой не подходит
Vlad
а нельзя контракт заинжектить?
Vlad
тока через сеттер