ну и понаписали вы фигни
yii::app - это DI или IoC? явно заняться нечем
Sam Dark, есть у нас case, когда нужен DI: умный менеджер пула соединений
в AR захардкоден туповатый ConnectionBuilder, в котором захардкоден возврат CDBConnection (объект соединения, обертка над PDO),
а нам надо внедрить в эту конструкцию умный класс, который в зависимости от типа вызова (find/save), от статуса "в транзакции" и от еще чего-нибудь выдавал бы нужное соединение к мастеру или одному из слейвов,
Соедиение в yii генерится при инициализации модели, а нам надо генерацию CDBConnection откладывать до момента непосредственно вызова метода find/save,
так что вместо CDBConnection из ConnectionBuilder-а возвращаем не соединение, а объект пула соединений, который уже при вызове делегирует обработку запроса нужному соединению.
Вот тут нам нужен настоящий DI