Установите PDO для исключения исключений по умолчанию

Я всегда хочу, чтобы PDO выдавал исключения, если возникает ошибка, поскольку я всегда использую PDO:

try { $dbh = new PDO("mysql:host=$kdbhost;dbname=$kdbname",$kdbuser,$kdbpw); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // some queries } catch (PDOException $e) { error_log('PDO Exception: '.$e->getMessage()); die('PDO says no.'); } 

Было бы неплохо, если бы был файл конфигурации, который я мог бы редактировать, чтобы сделать так, чтобы PDO выдавал исключения по умолчанию – возможно ли это?

Причина, по которой я хочу этого, так это мне не нужно писать эту строку каждый раз:

 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

Обновление. С тех пор я создал библиотеку, которая обрабатывает доступ к базе данных для меня (включая установку PDO для исключения исключений).

Вы можете добавить функцию setAttribute к конструктору:

 $pdo = new PDO('mysql:host=localhost;dbname=someTable', 'username', 'password', array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION )); 

Но я не могу найти способ добавить его в файл php.ini или какой-либо другой файл конфигурации.

В дополнение к комментарию rdlowrey самым простым способом было бы:

 class MyPDO extends PDO { public function __construct($dsn, $username = null, $password = null, array $driver_options = null) { parent :: __construct($dsn, $username, $password, $driver_options); $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } } 

вызов, то это просто вопрос

 $dbh = new MyPDO("mysql:host=$kdbhost;dbname=$kdbname",$kdbuser,$kdbpw);