Как кроме подмены кода подменить родителя класса/изменить поведение класса? Причем класса встроенного?
В конкретно моем случае — PDO, PDOStatement. Написал небольшую обертку, которая удобно работает с плейсхолдерами, хочется написать тесты, но совершенно не понимаю как это сделать.
Обертка дополняет существующие методы, почти не испольузет свои. Можно конечно вынести свой код в свои методы, но это как минимум лишний вызов функций, и будет сделано только ради тестирования.
github.com/hell0w0rd/dbal/tree/master/src/Fountain/Dbal — вот ссылка на репозиторий, чтобы говорить детально
Хотелось бы подменить таким классом, который имел бы метод getLastParams(), а требуемые методы записывали все аргументы, с которыми вызываются функции.