Получить текущий драйвер PDO из существующего соединения?

У меня есть класс, который принимает существующее PDO соединение в конструкторе:

class Foo {
    public function __construct(\PDO $conn = NULL) {
        // ...
    }

    // ...
}

Мой вопрос: есть ли способ определить, какой драйвер использует существующее PDO соединение (предпочтительно из списка найденного здесь)? Я не видел ничего в документации API.

Для любопытных, я хотел бы знать, какой драйвер используется, потому что функциональность в моем классе специфична для базы данных, поэтому мне хотелось бы проверить, что соединение, переданное ему, имеет правильный тип.

Ответ 1

Вы можете использовать PDO::getAttribute() с помощью PDO::ATTR_DRIVER_NAME:

$name = $conn->getAttribute(PDO::ATTR_DRIVER_NAME);