هذا يلغي الحاجة إلى تعيين وضع معالجة الأخطاء صراحة في كل مرة تقوم فيها بإنشاء اتصال قاعدة بيانات. بينما يمكنك تعيين وضع الخطأ يدويًا باستخدام $ dbh-> setAttribute (pdo :: attater_errmode ، pdo :: errmode_exception) ، فقد تتساءل عما إذا كانت هناك طريقة لجعل هذا السلوك الافتراضي.
استثناء معالجة
لسوء الحظ ، لا يوجد ملف أو خيار تكوين مدمج في ملف php.ini الذي يسمح لك بتعيين PDO لرمي الاستثناءات افتراضيًا. وذلك لأن PHP يتولى معالجة الأخطاء على مستوى العالم ، وهو ليس خاصًا بـ PDO.
الحل
&&&]1. وسيطة مُنشئ
يوما ما "،" اسم المستخدم "،" كلمة المرور "، صفيف ( PDO :: ATTR_ERRMODE = & GT ؛ PDO :: errmode_exception ) ؛
2. فئة Wrapperالوظيفة العامة __construct ($ dsn ، $ username ، $ password) { الوالد :: __ بناء ($ dsn ، اسم المستخدم $ ، كلمة المرور $ ، صفيف ( PDO :: ATTR_ERRMODE = & GT ؛ PDO :: errmode_exception ) ؛ } }
مع هذا النهج ، يمكنك استخدام فئة PDO المخصصة بدلاً من فئة PDO العادية والحصول على سلوك معالجة الاستثناءات دائمًا: dbname = يومًا ما "،" اسم المستخدم "،" كلمة المرور ") ؛
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3