Просмотр поста

.
AlkatraZ
╭∩╮ (`-`) ╭∩╮
# Delphinum (17.11.2016 / 15:13)
Кстати да, мы можем добавить в реализацию того же PDO какую нить прикладную логику (на пример запись в лог всех запросов в базу), а пользователь об этом даже не узнает и не нужно по всему приложению и
Вот тут как раз и появляется преимущество конфиг-подхода и фабрик.
Пример: https://github.com/john-cms/jo ... hp#L6

Для контейнера я задаю ключ PDO::class
а значение - я могу прописать любое, главное, чтоб в итоге была реализация интерфейса PDO (иначе полетит совместимость).

Если к примеру, завтра вместо нативного PDO в Джоне захочется применить Доктрину, достаточно всего лишь в конфиге поменять одну строку.
вместо
PDO::class  => Johncms\PdoFactory::class,

написать
PDO::class  => Doctrine\DBAL\DriverManager::class,