Nikolay
но если создаю для доктрины то не идет
Павел
не пойму почему нельзя в пхп собрать строку запроса и выполнить
Nikolay
можно, но интересно можно ли реализовать через доктрину
Павел
так сделай мвп сдай, на ревью тебе объяснят и развернут
Nikolay
некому объяснять)
Ibray
а почему if не проходит? что пишет?) А если case попробовать
Сергей
Сергей
DQL - это абстракция. Если сама СУБД это умеет, то можно сделать . Если сама СУБД не умеет - то никак нельзя)
Пилот
Шоб агрегировать бы как то а не композировпть извне
Павел
Пилот
Ну типа через new не сделаешь же
Пилот
Это похоже на мой state machine/workflow просто проблему вроде
Пилот
Раньше описывал, но не суть)
Павел
В метод передается datetime там, где это нужно
Пилот
В инжекцию через сеттер в энтити?
Пилот
Или интерфейс клока же
Пилот
А, ну типа УЖЕ now datetime который выдал передаем
Пилот
Бле, мне конечно со Стейт машин это не получится по логике, иначе любой воркфлоу прогрузить можно)
Павел
В принципе клок отчасти загон, но в тестах помогает, если надо что-то со временем протестировать
Пилот
Ну это как допустимый экстенд симфонийского UserEbtity интерфейса в домене у класса User типа я так понял)
Пилот
А у меня по сути все бизнес логика кроме экстенда интерфейса ЮзерМнтерыейс симфы)
Пилот
Вроде
Пилот
Пилот
Угумс, я про композицию тоже, не наследование
Павел
Ну это уже загон про дробление, но там свои сложности отчасти
Павел
Павел
Они вообще не знаю друг о друге никак
Пилот
Хм, надеюсь такая имптементация возможна ) не игрался ещё настолько
Nikolay
Павел
Пилот
Я делал
Попробую по возможности))
Пилот
Я юзаю shared kernel но не все вынес
Павел
Грубо говоря, незачем в одном классе юзер хранить данные аутентификации, профиля, оплаты. ТАк как они между собой не пересекаются ни в одном из сценарии.
Пилот
Ну и привязки есть по сущностям между бц, надо на EntityId перевязать и ввести классы контекстов)
Пилот
Павел
Но возницкают другие вопросы, как создавать их вместе, где то не профукаться и поддерживать некую консистенцию )
Пилот
У меня пока по сути связанные модули. Апкам всего чуть больше года, только я в команде разработки))
Пилот
Но сплитить/мерджить BC в целом норма как я понял
Пилот
За время дев лайфсайкла апок
Юра
Кто-то уже юзал? Симфони юзает )
Konstantin
я вовсю, не вынимая
Konstantin
топ1 фича для меня просто
Konstantin
не совсем, но если так рассуждать, то всё - это сахар для ифа или гото
Konstantin
enum OrderStatus: int
{
case NEW = 0;
case COMPLETED = 1;
case PROCESSING = 7;
public function getReadableName(): string
{
return match ($this) {
self::NEW => 'Новый',
self::COMPLETED => 'Оплачен',
self::PROCESSING => 'Обрабатывается',
};
}
}
Konstantin
с енамами что-то такое можно писать, очень удобно
The Ant
так сахарок заключается в том, что хавает все недостатки свитч кейса, не?
Konstantin
чуть руки заняты, если интересно, хотя бы вот пробегись - там за меня ответят в чем разница
Konstantin
https://stitcher.io/blog/php-8-match-or-switch
Konstantin
(как же заел этот таймаут)
The Ant
The Ant
в чем матч выиграл? )
Konstantin
во-первых, хотя бы в памяти - мы не заводим никакие массивы под эти значения, во-вторых - в строчках, если там чуть более сложное, например,
1, 2, 3 => 'Новый',
default => throw new Exception()
Konstantin
но пробегись таки по доке и/или статье по ссылке выше
Юра
Блин я тут понял что без ДТО теперь уже никуда
Юра
Раньше херачил сериализатором прям в энтитю и валидировал
Юра
Сейчас такой фокус не проходит
The Ant
The Ant
поэтому думаю косяк остался
Konstantin
о чем ты?
The Ant
о том, что у свитча сложность увеличивается с каждым условием )
Konstantin
ну и заводить массивы-"справочники", согласись, всё же костыль, если тебе нужно буквально поматчить одно на другое. нахера массив со значениями, если можно без массива со значениями типа.
The Ant
это эквивалент if ... elseif .... elseif ... etc
Юра
самый крутой матч в расте, все остальное лабуда
Konstantin
я же говорю, всё в этом мире сахар или для ифа, или для цикла, или для гото. если с этой точки зрения оценивать, мы так и будем на голангах писать
The Ant
т.е. чем дальше сработает условие тем будет выше сложность.
с массивами у тебя будет хешмапа с О(1)
Юра
начнем с того что там не O(1)
Юра
)
Юра
хотя хз
Юра
там такие навороченные массивы что хрен поймешь