Size: a a a

2021 January 29

NO

Nex Otaku in Yii Framework 3
Dmitriy S
Решали проблему биндинга на глобальный интерфейс разных реализаций для разных модулей. Например, глобально для приложения CacheInterface => FileCache::class, а в модуле я хочу CacheInterface => RedisCache::class. А потом побочно уже возникла фишка инкапсуляции внутренней логики модуля в локальном контейнере модуля, недоступном из приложения и других модулей.
Этот момент поясни. Это вопрос конфигурации? То есть чтобы в модуле был абстрактный кеш заюзан, а на уровне приложения я мог сконфигурировать на разные части разную реализацию кеша? Или модуль "сам решил" что ему нужен именно Редис?
источник

NO

Nex Otaku in Yii Framework 3
Dmitriy S
Ну я бы на тебя вообще не ориетировался. Тебе абы поговорить)
На себя посмотри.
источник

NO

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

AM

Alexander Makarov in Yii Framework 3
Так, @yiiliveext, @nex_otaku поконструктивней.
источник

DS

Dmitriy S in Yii Framework 3
Nex Otaku
Этот момент поясни. Это вопрос конфигурации? То есть чтобы в модуле был абстрактный кеш заюзан, а на уровне приложения я мог сконфигурировать на разные части разную реализацию кеша? Или модуль "сам решил" что ему нужен именно Редис?
Разная реализация для разных модулей. Как объяснить понятней я не знаю. В ларе это Contextual Binding, только оно там тупо на контроллер привязывается и не учитывает сложные связи. А здесь оно может целиком на модуль.
источник

NO

Nex Otaku in Yii Framework 3
Редис в качестве кеша кто захотел указать? Разработчик приложения или разработчик модуля?
источник

DS

Dmitriy S in Yii Framework 3
Nex Otaku
Редис в качестве кеша кто захотел указать? Разработчик приложения или разработчик модуля?
Разработчик модуля
источник

NO

Nex Otaku in Yii Framework 3
Очень интересно ) Почему тогда ему нужен глобальный интерфейс?
источник

DS

Dmitriy S in Yii Framework 3
Nex Otaku
Очень интересно ) Почему тогда ему нужен глобальный интерфейс?
Потому что я могу после установки переопределить настройку модуля. Например завязать ему DbCache
источник

AM

Alexander Makarov in Yii Framework 3
Dmitriy S
Разная реализация для разных модулей. Как объяснить понятней я не знаю. В ларе это Contextual Binding, только оно там тупо на контроллер привязывается и не учитывает сложные связи. А здесь оно может целиком на модуль.
Contextual binding у нас уже есть.
источник

NO

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

Если хочется "личный" кеш для модуля, то делаем

interface MyModuleCacheInterface extends CacheInterface {}

И либо вкручиваем напрямую в модуле в него Редис либо разрешаем через конфиг пристыковать.
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Contextual binding у нас уже есть.
Где?
источник

DS

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

Если хочется "личный" кеш для модуля, то делаем

interface MyModuleCacheInterface extends CacheInterface {}

И либо вкручиваем напрямую в модуле в него Редис либо разрешаем через конфиг пристыковать.
За такое надо сразу увольнять))
источник

AM

Alexander Makarov in Yii Framework 3
return [
  MyModuleThing::class => [
      __class => MyModuleThing::class,
      __construct() =>  ['connection' => Reference::to('custom-connection')]
  ],
];
источник

AM

Alexander Makarov in Yii Framework 3
Вот.
источник

NO

Nex Otaku in Yii Framework 3
Опять тролля включил?
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
return [
  MyModuleThing::class => [
      __class => MyModuleThing::class,
      __construct() =>  ['connection' => Reference::to('custom-connection')]
  ],
];
Это тебе придётся на каждый контроллер такое делать.
источник

AM

Alexander Makarov in Yii Framework 3
Dmitriy S
Это тебе придётся на каждый контроллер такое делать.
Аналогично Laravel и Symfony.
источник

DS

Dmitriy S in Yii Framework 3
И на каждый сервис
источник

AM

Alexander Makarov in Yii Framework 3
Ну, там ещё дефолты есть. У нас это есть тикет-фича.
источник