Kesalahan PHP untuk anak-anak keren
whoops adalah kerangka penanganan kesalahan untuk PHP. Di luar kotak, ia menyediakan antarmuka kesalahan cantik yang membantu Anda men-debug proyek web Anda, namun pada intinya ini adalah sistem penanganan kesalahan bertumpuk yang sederhana namun kuat.
Jika Anda menggunakan Laravel 4, Laravel 5.5+ atau Mezzio, Anda sudah memiliki Whoops. Ada juga instruksi yang diberikan komunitas tentang cara mengintegrasikan Whoops ke Silex 1, Silex 2, Phalcon, Laravel 3, Laravel 5, CakePHP 3, CakePHP 4, Zend 2, Zend 3, Yii 1, FuelPHP, Slim, Pimple, Laminas, atau kerangka kerja apa pun yang menggunakan middleware StackPHP atau middleware PSR-7.
Jika Anda tidak menggunakan salah satu kerangka kerja ini, berikut cara instalasi yang sangat sederhana:
Gunakan Komposer untuk menginstal Whoops ke dalam proyek Anda:
composer require filp/whoops
Daftarkan pengendali cantik di kode Anda:
$ whoops = new Whoops Run ;
$ whoops -> pushHandler ( new Whoops Handler PrettyPageHandler );
$ whoops -> register ();
Untuk opsi lebih lanjut, lihat contoh file di examples/
untuk mengetahui cara kerjanya. Lihat juga Dokumentasi API dan daftar penangan yang tersedia di bawah.
Anda mungkin juga ingin mengganti beberapa panggilan sistem yang dilakukan Whoops. Untuk melakukannya, perluas WhoopsUtilSystemFacade
, ganti fungsi yang Anda inginkan dan teruskan sebagai argumen ke konstruktor Run
.
Anda juga dapat mengumpulkan HTML yang dihasilkan untuk memprosesnya sendiri:
$ whoops = new Whoops Run ;
$ whoops -> allowQuit ( false );
$ whoops -> writeToOutput ( false );
$ whoops -> pushHandler ( new Whoops Handler PrettyPageHandler );
$ html = $ whoops -> handleException ( $ e );
whoops saat ini dikirimkan dengan penangan bawaan berikut, tersedia di namespace WhoopsHandler
:
PrettyPageHandler
- Menampilkan halaman kesalahan yang cantik ketika terjadi sesuatu yang tidak terdugaPlainTextHandler
- Menghasilkan pesan teks biasa untuk digunakan dalam aplikasi CLICallbackHandler
- Membungkus penutupan atau panggilan lain sebagai penangan. Anda tidak perlu menggunakan handler ini secara eksplisit, whoops akan secara otomatis membungkus penutupan atau callable apa pun yang Anda teruskan ke WhoopsRun::pushHandler
JsonResponseHandler
- Menangkap pengecualian dan mengembalikan informasinya sebagai string JSON. Dapat digunakan untuk, misalnya, bermain bagus dengan permintaan AJAX.XmlResponseHandler
- Menangkap pengecualian dan mengembalikan informasinya sebagai string XML. Dapat digunakan untuk, misalnya, bermain bagus dengan permintaan AJAX.Anda juga dapat menggunakan penangan yang dapat dicolokkan, seperti penangan SOAP.
Perpustakaan ini terutama dikembangkan oleh Filipe Dobreira, dan saat ini dikelola oleh Denis Sokolov. Banyak perbaikan dan penyempurnaan luar biasa juga dikirimkan oleh berbagai kontributor. Terima kasih khusus kepada Graham Campbell dan Markus Staab atas partisipasinya yang berkelanjutan.