Size: a a a

2021 March 05

А

Алексей R in Yii Framework 3
TradersVE
The other thing to keep in mind is the injector, it is used in many packages.
Injector не зависит от реализации контейнера
источник

T

TradersVE in Yii Framework 3
It is correct but you must take it into account at the moment of making everything work with another container.
источник

А

Алексей R in Yii Framework 3
Кстати об инжекторе.

Предположим, будет там опциональная точка расширения, которая позволит задавать особое поведение при внедрении зависимостей.
И настроите поведение так, что Injector будет учитывать атрибуты функций/классов/параметров.

Например будет выглядеть так:
#[SomeClassAttr(...)]
class TClass {
   #[SomeFuncAttr(...)]
   public function __construct(
       #[ParamAttr(...)]
       int $foo,
       string $bar = ''
   ) { ... }
}
$injector->make('TClass', [...]])

1. Стали бы вы это применять?
2. Какие кейсы? Может есть идеи по конкретным атрибутам?
3. С пониманием того, что это приводит к связыванию проекта с инжектором, пошли бы вы на это?

Простой пример от меня: атрибут, который укажет инжектору, по какому ключу запросить зависимость из контейнера (над именем атрибута не парился).
#[FromKey('logger', 'file-logger')]
function doIt(LoggerInterface $logger) {}
или
function doIt(
   #[FromKey('file-logger')]
   LoggerInterface $logger
) {}
источник

NO

Nex Otaku in Yii Framework 3
Кстати то что свагер в демо встроен, это круто прям
источник

AB

Alexander Borisov in Yii Framework 3
Не будет оверхеда?
источник

А

Алексей R in Yii Framework 3
Alexander Borisov
Не будет оверхеда?
Зависит от реализации расширения. Предполагается минимальный. А в случае, если есть атрибут, определяющий значение, то может и быстрее, т.к. отсекается целая ветка резолвинга в самом инжекторе
источник

А

Алексей R in Yii Framework 3
Атрибуты в php8 являются частью рефлексии. А с php 7 и базовая рефлексия работает быстро
источник

NO

Nex Otaku in Yii Framework 3
@predvoditelev слушай. Я хотел проапдейтить конфиги, заменить router на router-fastroute. Но пока я застрял на починке демо, поменяли все конфиги на новую структуру. Теперь я даже не знаю где что менять. Не пояснишь? И зачем было делать сотни папок на конфиги?
источник

AM

Alexander Makarov in Yii Framework 3
Алексей R
Кстати об инжекторе.

Предположим, будет там опциональная точка расширения, которая позволит задавать особое поведение при внедрении зависимостей.
И настроите поведение так, что Injector будет учитывать атрибуты функций/классов/параметров.

Например будет выглядеть так:
#[SomeClassAttr(...)]
class TClass {
   #[SomeFuncAttr(...)]
   public function __construct(
       #[ParamAttr(...)]
       int $foo,
       string $bar = ''
   ) { ... }
}
$injector->make('TClass', [...]])

1. Стали бы вы это применять?
2. Какие кейсы? Может есть идеи по конкретным атрибутам?
3. С пониманием того, что это приводит к связыванию проекта с инжектором, пошли бы вы на это?

Простой пример от меня: атрибут, который укажет инжектору, по какому ключу запросить зависимость из контейнера (над именем атрибута не парился).
#[FromKey('logger', 'file-logger')]
function doIt(LoggerInterface $logger) {}
или
function doIt(
   #[FromKey('file-logger')]
   LoggerInterface $logger
) {}
1. Нет.
источник

А

Алексей R in Yii Framework 3
Мы с тобой это обсуждали )
Интересует мнение остальных.
Вдруг юзкейс появится
источник

DS

Dmitriy S in Yii Framework 3
Nex Otaku
@predvoditelev слушай. Я хотел проапдейтить конфиги, заменить router на router-fastroute. Но пока я застрял на починке демо, поменяли все конфиги на новую структуру. Теперь я даже не знаю где что менять. Не пояснишь? И зачем было делать сотни папок на конфиги?
router-fastroute это адаптер фастроута для router
источник

А

Алексей R in Yii Framework 3
@nex_otaku у тебя в yii-demo актуальный мастер?
источник

А

Алексей R in Yii Framework 3
слишком лютый конфликт в config/params.php
источник

NO

Nex Otaku in Yii Framework 3
Dmitriy S
router-fastroute это адаптер фастроута для router
Я в курсе, спасибо)
источник

DS

Dmitriy S in Yii Framework 3
Nex Otaku
Я в курсе, спасибо)
Я там пр, кстати, в шелл сделал.
источник

NO

Nex Otaku in Yii Framework 3
Алексей R
@nex_otaku у тебя в yii-demo актуальный мастер?
Конечно не актуальный, я описал выше что произошло. Правил на старом мастере а потом поменяли глобально структуру всех конфигов. Теперь я спрашиваю, а где менять-то? Кто-то может краткий экскурс по новой структуре сделать?
источник

NO

Nex Otaku in Yii Framework 3
Dmitriy S
Я там пр, кстати, в шелл сделал.
Супер, гляну
источник

NO

Nex Otaku in Yii Framework 3
В новой версии конфигов десятки а может и сотни файлов, это ад какой-то, непонятно зачем )
источник

NO

Nex Otaku in Yii Framework 3
Фиг что найдëшь теперь
источник

А

Алексей R in Yii Framework 3
Nex Otaku
В новой версии конфигов десятки а может и сотни файлов, это ад какой-то, непонятно зачем )
все конфиги копируются в приложение
источник