Maison  >  Article  >  développement back-end  >  Comment faire en sorte que PDO lève des exceptions par défaut en PHP ?

Comment faire en sorte que PDO lève des exceptions par défaut en PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-28 18:12:29426parcourir

How to Make PDO Throw Exceptions by Default in PHP?

Comment configurer PDO pour lever des exceptions par défaut

PDO fournit un mécanisme pratique pour les interactions de base de données en PHP. Par défaut, il fonctionne en « mode silencieux », dans lequel les erreurs ne sont pas signalées comme des exceptions. Pour les développeurs qui préfèrent gérer les erreurs de manière explicite, il est souhaitable de modifier ce comportement.

Solution :

Pour configurer PDO pour qu'il lève des exceptions par défaut, modifiez les arguments du constructeur lorsque création d'un nouvel objet PDO :

<code class="php">$pdo = new PDO('mysql:host=localhost;dbname=someDatabase', 'username', 'password', [
  PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);</code>

Cet extrait de code ajoute l'appel setAttribute au constructeur, définissant immédiatement le mode d'erreur sur "mode exception".

Approches alternatives :

Bien qu'il n'y ait pas de configuration directe dans php.ini ou d'autres fichiers de configuration pour obtenir ce comportement, il existe des approches alternatives :

  • Créez une classe wrapper PDO : Définissez une classe qui encapsule PDO avec le mode d'erreur préféré défini comme argument de constructeur par défaut.
  • Instance PDO globale : Créez une instance PDO globale avec le mode d'erreur souhaité et utilisez-la tout au long de votre application.
  • Utilitaire de gestion des erreurs : Développez une fonction ou un utilitaire qui définit le mode d'erreur pour toute instance PDO créée dans son champ d'application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn