Size: a a a

2021 April 27

Д

Дмитрий in Yii Framework 2
несовсем понятно как тут устроено у него..
источник

VV

Vladislav Varlamov in Yii Framework 2
детали уже не суть, ок, для простоты представим проще
Есть контроллер, он дёргает некий класс, где по связям вытаскиваются книги и авторы
источник

VV

Vladislav Varlamov in Yii Framework 2
Важен сам принцип, как действовать когда тебе нужно подменить реализацию конкретного интерфейс в конкретном контроллере. При том, что меняется только данные в ответе и то, как эти данные получать. Но сама логика не меняется, ни особо формат ответа (DTO ответа допустим может измениться)
источник

VV

Vladislav Varlamov in Yii Framework 2
с одной стороны я понимаю, что конфигурировать контейнер в контроллере не лучшее занятие, но с другой, зачем использовать контейнеры, если ради такой простой подмены, придётся прокидывать всю зависимость вглубь с самого верха.
Т.е. моё решение оно рабочее, вопрос только к дизайну
источник

ES

Eugene She in Yii Framework 2
Получается что у тебя книга знает откуда доставать автора

Вроде как напрашивается сервис ответственность которого была бы доставать авторов из конкретного места принимая на вход книгу

Быть может из того что есть сервиса сделать базовый с  методом getAuthor()

А в BookLitresService переопределить его просто и все
источник

T🐜

The Ant 🐜 in Yii Framework 2
В уии2 контейнер для галочки скорее. Возможностей у него раз два и обчелся.
источник

VV

Vladislav Varlamov in Yii Framework 2
Книга не знает КАК достать, но она знает, что их можно достать через класс Авторы. Стандартная работа связей Yii. Связи это удобный и простой способ получения связанных данных. Но не в этом суть.
Хорошо, допустим у нас нет связей, есть BookService и BookLitresService, авторы всё равно будут лежать в другом классе. Как и главное где это всё конфигурировать?
источник

VV

Vladislav Varlamov in Yii Framework 2
работу он свою делает, классы разруливать умеет. Смотрел ларавел di, там уже слишком много
источник

T🐜

The Ant 🐜 in Yii Framework 2
Ну, ты уже на своем опыте ощутил дефицит возможностей.
источник

VV

Vladislav Varlamov in Yii Framework 2
нет, работать то я его заставил. Вопрос скорее организационный
источник

ES

Eugene She in Yii Framework 2
Кого конфигурировать? У тебя конкретный сервис будет принимать объект авторов и будет знать что нужно достать данные по апи, на сколько я понял
источник

ES

Eugene She in Yii Framework 2
Конкретный сервис знает куда лезть за данными
источник

VV

Vladislav Varlamov in Yii Framework 2
но я то получаю книги (BookService), через которые как-то внутри получаются авторы
источник

ES

Eugene She in Yii Framework 2
Ну так сделай сервис через который ты получаешь авторы
источник

Д

Дмитрий in Yii Framework 2
тебе нужно сделать контракт тогда AuthorServiceInterface , а  нужну его реализацию совать в BookService
источник

ES

Eugene She in Yii Framework 2
Слушай а у тебя такая структура вложенности получилось а теперь ты не знаешь как с ней работать
источник

Д

Дмитрий in Yii Framework 2
вот да.. слои слои. и непонятно зачем
источник

VV

Vladislav Varlamov in Yii Framework 2
не слои, а объекты, а не классы. не DDD, но очень приближенные к бизнесу язык
источник

ES

Eugene She in Yii Framework 2
А как у тебя так получается что у тебя сущность авторы насколько я понимаю вытягивается с базы данных и она же лезет в апи
источник

VV

Vladislav Varlamov in Yii Framework 2
Я к тому, в чём выгода DI, Если зависимости всё равно прокидывать  рукамии?
источник