# 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,