Pull to refresh

Comments 12

Спасибо за OpenSSL, mcrypt реально уже староват.
// $object = $container->get('Foo', [1, 2], ['prop1' => 3]);

Хм. Я ошибаюсь или полезность контейнера сильно падает, когда вызов сервиса завязывается на конкретные значения? Например, меняем $a и $b местами, и код уже не работает.
Хорошо, вот пример. Есть FileCache и MemcacheCache. Предположим, я забиндил где-то в конфиге FileCache на сервис 'cache'. Предположим, что конструктор FileCache принимает параметр $cache_dir, MemcacheCache — $server_ip. Если я правильно понял, предлагается писать так:

$cache = $container->get('cache', ['cache_dir' => '/some/cache/dir']);

Как мне теперь перейти от FileCache к MemcacheCache без необходимости переписывать весь код?
Не задавать параметры через get, задавать их в set.
Ок, а есть реальные примеры того, где это реально нужно? DI призван вынести всю инициализацию в одно место, а ваша идея предполагает часть инициализации сервиса перенести в вызывающий код.
Да нет же. Я про set говорил, а не про get. То есть настроить можно в конфиге или в коде, который к вызову отношения не имеет. А вызывать уже либо явно, либо через биндинг в конструктор. Это всё в доке есть.
Как же RBAC кэширования не хватало в Yii1. Workaround, конечно же, написан, но не это родное решение.
> RBAC кэширования

Это здорово, а то запросов к базе было реально многовато.
неужели прикрутили кэширования для RBAC? а то с самых первых версий приходится его всегда расширять/переписывать, чтобы хотя бы кеширование сделать — без него в случае если каждый «чих» проверяется через RBAC просто нереально.
SamDark Поясните пожалуйста, почему у вас версии фреймворка ведутся не по semver.org/lang/ru/
Чем продиктована такая версионность? По мне так, у вас сейчас должна быть версия 2.3.0 Может быть я что-то не до конца понимаю?
Заранее спасибо за ответ.
Sign up to leave a comment.

Articles