أخطاء PHP للأطفال الرائعين
يصيح هو إطار عمل معالج الأخطاء لـ PHP. إنه يوفر واجهة رائعة للأخطاء تساعدك على تصحيح أخطاء مشاريع الويب الخاصة بك، ولكنه في جوهره نظام بسيط ولكنه قوي لمعالجة الأخطاء.
إذا كنت تستخدم Laravel 4، أو Laravel 5.5+ أو Mezzio، فلديك بالفعل عفوًا. هناك أيضًا تعليمات مقدمة من المجتمع حول كيفية دمج Whoops في Silex 1، Silex 2، Phalcon، Laravel 3، Laravel 5، CakePHP 3، CakePHP 4، Zend 2، Zend 3، Yii 1، FuelPHP، Slim، Pimple، Laminas، أو أي إطار عمل يستهلك البرمجيات الوسيطة StackPHP أو البرامج الوسيطة PSR-7.
إذا كنت لا تستخدم أيًا من أطر العمل هذه، فإليك طريقة بسيطة جدًا لتثبيتها:
استخدم Composer لتثبيت Whoops في مشروعك:
composer require filp/whoops
سجل المعالج الجميل في الكود الخاص بك:
$ whoops = new Whoops Run ;
$ whoops -> pushHandler ( new Whoops Handler PrettyPageHandler );
$ whoops -> register ();
لمزيد من الخيارات، قم بإلقاء نظرة على ملفات الأمثلة الموجودة في examples/
للتعرف على كيفية عمل الأشياء. ألقِ نظرة أيضًا على وثائق واجهة برمجة التطبيقات (API) وقائمة المعالجات المتاحة أدناه.
قد ترغب أيضًا في تجاوز بعض مكالمات النظام التي يقوم بها Whoops. للقيام بذلك، قم بتوسيع WhoopsUtilSystemFacade
وتجاوز الوظائف التي تريدها وتمريرها كوسيطة إلى مُنشئ Run
.
يمكنك أيضًا جمع ملف HTML الذي تم إنشاؤه لمعالجته بنفسك:
$ whoops = new Whoops Run ;
$ whoops -> allowQuit ( false );
$ whoops -> writeToOutput ( false );
$ whoops -> pushHandler ( new Whoops Handler PrettyPageHandler );
$ html = $ whoops -> handleException ( $ e );
يأتي whoops حاليًا مع المعالجات المضمنة التالية، المتوفرة في مساحة الاسم WhoopsHandler
:
PrettyPageHandler
- يعرض صفحة خطأ جميلة عندما يحدث شيء ماPlainTextHandler
- يقوم بإخراج رسالة نصية عادية لاستخدامها في تطبيقات CLICallbackHandler
- يلتف الإغلاق أو أي شيء آخر يمكن الاتصال به كمعالج. لا تحتاج إلى استخدام هذا المعالج بشكل صريح، فسوف يقوم whoops تلقائيًا بتغطية أي إغلاق أو قابل للاستدعاء تقوم بتمريره إلى WhoopsRun::pushHandler
JsonResponseHandler
- يلتقط الاستثناءات ويعيد المعلومات عنها كسلسلة JSON. يمكن استخدامها، على سبيل المثال، للتعامل بشكل جيد مع طلبات AJAX.XmlResponseHandler
- يلتقط الاستثناءات ويعيد معلومات عنها كسلسلة XML. يمكن استخدامها، على سبيل المثال، للتعامل بشكل جيد مع طلبات AJAX.يمكنك أيضًا استخدام معالجات قابلة للتوصيل، مثل معالج SOAP.
تم تطوير هذه المكتبة بشكل أساسي بواسطة فيليبي دوبريرا، ويديرها حاليًا دينيس سوكولوف. تم أيضًا إرسال الكثير من الإصلاحات والتحسينات الرائعة بواسطة مساهمين مختلفين. شكر خاص لجراهام كامبل وماركوس ستاب على المشاركة المستمرة.