Semasa proses pembangunan, pelbagai situasi abnormal sering berlaku. Mengendalikan situasi luar biasa ini adalah kemahiran yang mesti dikuasai oleh pembangun. ThinkPHP6 ialah salah satu rangka kerja PHP yang lebih popular pada masa ini Ia menyediakan beberapa mekanisme pengendalian pengecualian yang berkuasa, tetapi ia perlu digabungkan dengan alat pihak ketiga untuk penyahpepijatan apabila digunakan secara khusus.
Artikel ini akan memperkenalkan alat penyahpepijat PHP yang sangat praktikal - Alamak, dan cara menggunakannya dalam ThinkPHP6 untuk menyahpepijat pelbagai situasi tidak normal.
1. Apa itu Whoops?
Whoops ialah perpustakaan yang digunakan untuk menangkap ralat dan pengecualian semasa program PHP sedang dijalankan. Ia menyediakan halaman paparan mesej ralat yang mesra untuk memudahkan pengaturcara mencari ralat nyahpepijat.
Whoops menyokong berbilang jenis pengecualian, termasuk pengecualian kernel PHP, ralat maut, pengecualian takrif pengguna, pengecualian JavaScript dan banyak lagi. Pada masa yang sama, halaman paparan maklumat ralat yang disediakan oleh Whoops juga sangat intuitif, cantik dan mudah untuk disesuaikan.
2. Mengapa menggunakan Whoops dalam ThinkPHP6?
Mekanisme pengendalian pengecualian terbina dalam rangka kerja ThinkPHP6 sangat berkuasa, tetapi mesej ralatnya juga agak ringkas dan sukar untuk menggambarkan masalah secara intuitif. Menggunakan Whoops boleh menyediakan halaman paparan mesej ralat yang lebih mesra dan cantik, menjadikannya lebih mudah untuk mencari masalah.
Selain itu, menggunakan Whoops juga membolehkan pembangun menikmati kaedah penyahpepijatan yang lebih fleksibel. Apabila menggunakan Whoops, kita boleh melihat nilai pembolehubah, susunan panggilan, kuki, sesi dan maklumat lain dalam masa nyata, yang sangat penting untuk pengaturcara.
3. Bagaimana untuk menggunakan Whoops dalam ThinkPHP6?
Sangat mudah untuk memasang Whoops menggunakan Composer Kami hanya perlu melaksanakan arahan berikut dalam direktori akar projek:
composer require filp/whoops
// 添加服务提供者 'services' => [ // ... hinkwhoopsServiceProvider::class, ],
return [ // 是否开启调试模式 'debug' => true, // 结合thinkphp调试模式 'think' => true, // 是否自动检测控制器、模型等目录下所有类 'auto_scan' => true, // 排除的目录列表,支持正则表达式 'exclude' => [ '/vendor/*', '/.git/*', '/runtime/*', '/public/*' ], // 自定义处理程序 'handler' => null, // 配置文件保存路径,默认路径为'/runtime/whoops' 'log' => true, 'log_path' => app()->getRuntimePath() . 'whoops/', // 配置报告 'report' => [ // 支持'response'、'json'、'html'、'xml'、'console' 'type' => 'html', // 支持'text/plain'、'application/json'、'text/html'、'application/xml'、WhoopsUtilMisc::getPreferredMimeType() 'content_type' => 'text/html', // 配置报告页面还是控制台,'auto'表示自动选择 'output' => 'auto', // 定义页面标题 'page_title' => 'Whoops Error', // 配置访问控制 'access_control' => [ // 配置允许的IP列表 'allow' => [], // 配置拒绝的IP列表 'deny' => [], // 配置需要登录的IP列表 'challenge' => [], ] ], ];
Atas ialah kandungan terperinci Bagaimana untuk menggunakan Whoops untuk menyahpepijat pengecualian ThinkPHP6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!