Size: a a a

2020 July 29

A

A in Yii Framework 3
Мы все за идею просто
источник

А

Алексей R in Yii Framework 3
@lachezis , кстати,  ты не думал о том, чтобы денежно поощрать хорошие pr? :)
источник

СП

Сергей Предводителев... in Yii Framework 3
Возвращаясь к вопросу использования контейнера DI и написания расширений.

Вот делаю я расширение, в котором есть некий класс (назовём его главный класс расширения), который в рамках этого расширения синглтон, и другие классы из этого расширения его используют.

Ну то есть в приложении подключается класс расширения через сервис локатор.

Получается что внутри этого расширения все классы, которым нужен экземпляр главного класса - всегда должны будут его явно получать через конструктор или аргумент метода.

И делая, к примеру провайдеры https://github.com/yiisoft/yii-cycle/tree/master/src/Schema/Provider в таком расширении — нужно будет создать абстрактный класс, где в конструктор передавать экземпляр главного класса и потом уже все провайдеры будут от этого абстрактного класса наследоваться.

так?
источник
2020 July 30

А

Алексей R in Yii Framework 3
продолжай. К чему ты клонишь? )
источник

А

Алексей R in Yii Framework 3
Сергей Предводителев
Возвращаясь к вопросу использования контейнера DI и написания расширений.

Вот делаю я расширение, в котором есть некий класс (назовём его главный класс расширения), который в рамках этого расширения синглтон, и другие классы из этого расширения его используют.

Ну то есть в приложении подключается класс расширения через сервис локатор.

Получается что внутри этого расширения все классы, которым нужен экземпляр главного класса - всегда должны будут его явно получать через конструктор или аргумент метода.

И делая, к примеру провайдеры https://github.com/yiisoft/yii-cycle/tree/master/src/Schema/Provider в таком расширении — нужно будет создать абстрактный класс, где в конструктор передавать экземпляр главного класса и потом уже все провайдеры будут от этого абстрактного класса наследоваться.

так?
два разных класса, унаследованных от базового абстрактного всё-равно являются разными классами. И они могут в конструктор получить разные реализации в итоге
источник

СП

Сергей Предводителев... in Yii Framework 3
Алексей R
два разных класса, унаследованных от базового абстрактного всё-равно являются разными классами. И они могут в конструктор получить разные реализации в итоге
Да, это понятно
источник

А

Алексей R in Yii Framework 3
если тебе нужен общий объект на всех потомков, то придётся поизвращаться
источник

СП

Сергей Предводителев... in Yii Framework 3
Да я всё к тому, что если пишем расширение, которое может иметь два экземпляра, то внутри него всё будет связано выходит)
источник

А

Алексей R in Yii Framework 3
не понял 😐
источник

А

Алексей R in Yii Framework 3
типа не синглтон?
источник

А

Алексей R in Yii Framework 3
что связано будет?
источник

СП

Сергей Предводителев... in Yii Framework 3
Алексей R
не понял 😐
Плохой пример, но всё же) Если yii-cycle нужно несколько экземпляров - каждый со своими конфигурациями - то там внутри во многих местах, в тех же провайдерах схем - нужно будет передавать экземпляр основного класса, из которого и получать dbal например
источник

А

Алексей R in Yii Framework 3
подумай вот над какой темой
если тебе прям надо два cycle-сервиса поднять, с отдельными конфигами и вообще всем отдельным, то предполагаю, что можно просто зафигачить эти бадлы в два разных несвязанных контейнера
нужен cycle1 - бери из контейнера1
нужен сусле2 - бери из контейнера2 :)
источник

А

Алексей R in Yii Framework 3
соответственно это дело можно запихать в композитный контейнер и добавить альясы на ORM инстансы каждой сусли
источник

А

Алексей R in Yii Framework 3
взлетит? или на ночь такое не надо?
источник

СП

Сергей Предводителев... in Yii Framework 3
Именно cycle - не надо) Это больше теория. Да и в yii2 я пришел к тому, что пишу через контейнер расширение... допилю покажу
источник

T

TradersVE in Yii Framework 3
источник

А

Алексей R in Yii Framework 3
@predvoditelev добавлять к PR будешь что-нибудь? :)
источник

СП

Сергей Предводителев... in Yii Framework 3
Алексей R
@predvoditelev добавлять к PR будешь что-нибудь? :)
Нет)
я там баг ещё нашёл
источник

А

Алексей R in Yii Framework 3
?
источник