"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je faire des exceptions PDO lancez par défaut?

Comment puis-je faire des exceptions PDO lancez par défaut?

Publié le 2025-02-06
Parcourir:184

How Can I Make PDO Throw Exceptions by Default?

Configuration de gestion des exceptions PDO

En tant que développeur, vous préférez peut-être avoir des exceptions de lancement de PDO par défaut. Cela élimine la nécessité de définir explicitement le mode de gestion des erreurs chaque fois que vous établissez une connexion de base de données. Bien que vous puissiez définir manuellement le mode d'erreur à l'aide de $ dbh-> setAttribute (PDO :: att_errMode, PDO :: errMode_Exception), vous vous demandez peut-être s'il existe un moyen de faire de cela le comportement par défaut.

par défaut par défaut par défaut. Gestion des exceptions

Malheureusement, il n'y a pas de fichier ou d'option de configuration intégré dans le fichier php.ini qui vous permet de définir PDO pour lancer des exceptions par défaut. En effet, PHP gère la gestion des erreurs à l'échelle mondiale, et elle n'est pas spécifique à PDO.

Solution

Pour réaliser le comportement souhaité, vous avez deux options:

1. Constructor Argument

Vous pouvez transmettre un tableau d'options au constructeur PDO, y compris le mode de gestion des erreurs:

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

2. Classe de wrapper

Alternativement, vous pouvez créer une classe de wrapper qui étend PDO et définit toujours le mode d'erreur sur le mode Exception:

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

Avec cette approche, vous pouvez utiliser votre classe PDO personnalisée au lieu de la classe PDO ordinaire et toujours obtenir un comportement de gestion des exceptions:

$pdo = new MyPDO('mysql:host=localhost;dbname=someDatabase', 'username', 'password');
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3