Size: a a a

2020 April 08

NO

Nex Otaku in Yii Framework 3
Ладно, давайте сворачиваться. Я понял что решений готовых нет, а также что проблемы кроме меня никто не видит.

Дима правильно сказал, будет кейс, будем смотреть. Дождёмся когда у меня будет время на чёткий кейс. Может я и сам найду как разрулить.
источник

А

Алексей R in Yii Framework 3
Nex Otaku
Ладно, давайте сворачиваться. Я понял что решений готовых нет, а также что проблемы кроме меня никто не видит.

Дима правильно сказал, будет кейс, будем смотреть. Дождёмся когда у меня будет время на чёткий кейс. Может я и сам найду как разрулить.
а ты переезд проекта с Yii2 на Yii3 задумал?
источник

NO

Nex Otaku in Yii Framework 3
По канонам чистой архитектуры, доменная область не должна быть завязана на фреймворк. Поэтому в бизнес-логике никакой зависимости от Yii3, Yii2 и т.д. быть не должно.
источник

NO

Nex Otaku in Yii Framework 3
Алексей R
а ты переезд проекта с Yii2 на Yii3 задумал?
В данный момент нет. Есть небольшой модуль, который хочу сделать независимым от фреймворка.
источник

NO

Nex Otaku in Yii Framework 3
Сейчас он на Yii2 ) Прототип )
источник

AM

Alexander Makarov in Yii Framework 3
Nex Otaku
По канонам чистой архитектуры, доменная область не должна быть завязана на фреймворк. Поэтому в бизнес-логике никакой зависимости от Yii3, Yii2 и т.д. быть не должно.
Ну так и не будет. DI-way - это композиция по сути.
источник

AM

Alexander Makarov in Yii Framework 3
Это не протаскивание контейнера везде.
источник

NO

Nex Otaku in Yii Framework 3
Есть пример проекта по канонам DDD? Хотя бы простенького?
источник

NO

Nex Otaku in Yii Framework 3
Именно код посмотреть, как там сделано.
источник

Д

Дмитрий in Yii Framework 3
Nex Otaku
По канонам чистой архитектуры, доменная область не должна быть завязана на фреймворк. Поэтому в бизнес-логике никакой зависимости от Yii3, Yii2 и т.д. быть не должно.
А если доменные интерфейсы фабрики, реализации которых делаю $yiiFactory->create()?
источник

AM

Alexander Makarov in Yii Framework 3
Nex Otaku
Есть пример проекта по канонам DDD? Хотя бы простенького?
У меня в паблике нет.
источник

AM

Alexander Makarov in Yii Framework 3
Дмитрий
А если доменные интерфейсы фабрики, реализации которых делаю $yiiFactory->create()?
То норм.
источник

AM

Alexander Makarov in Yii Framework 3
Потому что интерфейс - часть домена, а реализация - инфраструктура.
источник

NO

Nex Otaku in Yii Framework 3
Вот вам кейс )

https://gist.github.com/Nex-Otaku/622ce7f2f336f27b4953e85efffa7c45

Хочу вынести метод toString в TimestampFormatter, который будет как-то инжектиться в Timestamp автоматом, по TimestampFormatterInterface.

Как это сделать так, чтобы не пришлось менять весь код, который сейчас пользуется классом Timestamp?
источник

NO

Nex Otaku in Yii Framework 3
Кстати, не понял как в гисте подсветку синтаксиса врубить, вроде раньше было... не нашёл
источник

NO

Nex Otaku in Yii Framework 3
Дмитрий
А если доменные интерфейсы фабрики, реализации которых делаю $yiiFactory->create()?
Думал об этом, но тогда всё придётся на фабрики перестраивать. Это сильно усложняет код.

Но и опять же, в коде та же самая цепочка изменений начнётся. Ведь мы не можем сделать new FactoryInterface(), нам нужно эту фабрику подцепить через свойство. А раз так, то это свойство должно быть внедрено... И снова по цепочке.
источник

AM

Alexander Makarov in Yii Framework 3
Ну ясное дело что публичный API меняется. Соответственно, и использование его надо менять.
источник

NO

Nex Otaku in Yii Framework 3
Alexander Makarov
Ну ясное дело что публичный API меняется. Соответственно, и использование его надо менять.
В кейсе Timestamp? Не меняется там API.
источник

NO

Nex Otaku in Yii Framework 3
Только внутренности...
источник

AM

Alexander Makarov in Yii Framework 3
Ну если задача не менять, тогда так:
источник