Если вам нужен PSR-кеш, ну требуйте его в конструктор.
1) Я не хочу думать какой там парент у того кеша, а хочу просто передать куда то PSR16 совместимую его версию.
2) Я к примеру использую несколько кешей (файловый для больших данных, MemCached для каких то других и APCu для малых критически важных данных). Кеши конфигурируются где то там. На деве они могут ссылаться все на файловый кеш или на заглушку. Конечные компоненты получают на вход yii кеш и не знают что им там и с каким парентом передали. Как в компоненте получит PSR совместимый кеш? Прокидывать его по всей цепочке? (по тому что вы считаете что нефиг пользователю иметь доступ к паренту 😀).
3) Я бы слово parent заменил на более понятное типа psrСache и добавил метод getPsrCache().
4) Использование одного хранилище для значений и тегов... Серёзно?
5) Не хватает ValueDependency ( вместо new CallbackDependency(fn () => $value) ).
6) У интерфейса CacheInterface всего 2 метода. Забавно...