Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Membuat Pengecualian Balingan PDO secara Lalai?

Bagaimanakah Saya Boleh Membuat Pengecualian Balingan PDO secara Lalai?

Susan Sarandon
Lepaskan: 2024-11-28 05:26:18
asal
237 orang telah melayarinya

How Can I Make PDO Throw Exceptions by Default?

Konfigurasi Pengendalian Pengecualian PDO

Sebagai pembangun, anda mungkin memilih untuk mempunyai pengecualian lempar PDO secara lalai. Ini menghapuskan keperluan untuk menetapkan mod pengendalian ralat secara eksplisit setiap kali anda membuat sambungan pangkalan data. Walaupun anda boleh menetapkan mod ralat secara manual menggunakan $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION), anda mungkin tertanya-tanya sama ada terdapat cara untuk menjadikannya gelagat lalai.

Pengendalian Pengecualian Lalai

Malangnya, tiada konfigurasi terbina dalam fail atau pilihan dalam fail php.ini yang membolehkan anda menetapkan PDO untuk membuang pengecualian secara lalai. Ini kerana PHP mengendalikan pengendalian ralat secara global, dan ia tidak khusus untuk PDO.

Penyelesaian

Untuk mencapai gelagat yang anda inginkan, anda mempunyai dua pilihan:

1. Argumen Pembina

Anda boleh menghantar pelbagai pilihan kepada pembina PDO, termasuk mod pengendalian ralat:

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

2. Kelas Pembungkus

Sebagai alternatif, anda boleh membuat kelas pembungkus yang memanjangkan PDO dan sentiasa menetapkan mod ralat kepada mod pengecualian:

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

Dengan pendekatan ini, anda boleh menggunakan tersuai anda Kelas PDO dan bukannya kelas PDO biasa dan sentiasa mendapat gelagat pengendalian pengecualian:

$pdo = new MyPDO('mysql:host=localhost;dbname=someDatabase', 'username', 'password');
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membuat Pengecualian Balingan PDO secara Lalai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan