ホームページ  >  記事  >  バックエンド開発  >  PHP で PDO がデフォルトで例外をスローするようにするにはどうすればよいですか?

PHP で PDO がデフォルトで例外をスローするようにするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-28 18:12:29426ブラウズ

How to Make PDO Throw Exceptions by Default in PHP?

デフォルトで例外をスローするように PDO を構成する方法

PDO は、PHP でのデータベース対話のための便利なメカニズムを提供します。デフォルトでは、エラーは例外として発生しない「サイレント モード」で動作します。エラーを明示的に処理したい開発者にとっては、この動作を変更することが望ましいです。

解決策:

デフォルトで例外をスローするように PDO を設定するには、次の場合にコンストラクターの引数を変更します。新しい PDO オブジェクトの作成:

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

このコード スニペットは、setAttribute 呼び出しをコンストラクターに追加し、エラー モードをすぐに「例外モード」に設定します。

代替アプローチ:

この動作を実現するための php.ini または他の構成ファイル内に直接構成はありませんが、代替アプローチがあります。

  • PDO ラッパー クラスを作成します。 デフォルトのコンストラクター引数として設定された優先エラー モードを使用して PDO をラップするクラスを定義します。
  • グローバル PDO インスタンス: 必要なエラー モードを使用してグローバル PDO インスタンスを作成し、それを使用します
  • エラー処理ユーティリティ: スコープ内で作成された PDO インスタンスのエラー モードを設定する関数またはユーティリティを開発します。

以上がPHP で PDO がデフォルトで例外をスローするようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。