cari
Rumahrangka kerja phpThinkPHPBagaimana untuk menggunakan Whoops untuk menyahpepijat pengecualian ThinkPHP6?

Bagaimana untuk menggunakan Whoops untuk menyahpepijat pengecualian ThinkPHP6?

Jun 12, 2023 am 11:34 AM
thinkphpwhoopsPenyahpepijatan pengecualian

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?

  1. Memasang Whoops

Sangat mudah untuk memasang Whoops menggunakan Composer Kami hanya perlu melaksanakan arahan berikut dalam direktori akar projek:

composer require filp/whoops
    Mengkonfigurasi Whoops
Sebelum menggunakan Whoops, kita perlu melakukan beberapa konfigurasi mudah.

Pertama, kita perlu menambah penyedia perkhidmatan Whoops dalam fail config/app.php:

// 添加服务提供者
'services' => [
    // ...
        hinkwhoopsServiceProvider::class,
],

Kemudian, kita perlu membuat beberapa konfigurasi dalam fail config/whoops.php, konfigurasi khusus adalah seperti berikut :

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' => [],
        ]
    ],
];

Di atas adalah item konfigurasi asas Whoops, yang kebanyakannya boleh diubah mengikut keperluan anda sendiri.

    Menggunakan Whoops
Selepas langkah di atas, kita boleh menggunakan alat penyahpepijatan Whoops seperti biasa. Apabila ralat atau pengecualian berlaku semasa menjalankan aplikasi kami, ia secara automatik akan melompat ke halaman paparan mesej ralat Whoops.

Halaman ini mungkin mengandungi beberapa maklumat berguna, seperti timbunan panggilan, parameter permintaan, pengepala permintaan, kuki, sesi dan maklumat lain. Maklumat ini boleh membantu kami mencari masalah dengan lebih cepat dan menyelesaikannya.

4. Ringkasan

Menggunakan Whoops boleh menyediakan halaman paparan maklumat pengecualian yang lebih intuitif dan cantik, membantu kami mencari masalah dengan lebih cepat dan menyahpepijatnya. Whoops juga menyokong pelbagai jenis pengecualian, termasuk pengecualian kernel PHP, ralat maut, pengecualian yang ditentukan pengguna, pengecualian JavaScript, dll., yang sangat praktikal.

Menggunakan Whoops dalam rangka kerja ThinkPHP6 adalah sangat mudah. ​​Kami hanya perlu membuat beberapa konfigurasi mudah untuk menggunakan alat untuk penyahpepijatan secara normal. Sudah tentu, konfigurasi juga perlu diselaraskan dan diubah suai mengikut keperluan sebenar anda.

Akhir sekali, sila ambil perhatian bahawa menggunakan Whoops hanyalah alat penyahpepijatan Kualiti dan integriti kod masih memerlukan pembangun kami untuk terus bekerja keras untuk memastikan kestabilan dan kebolehselenggaraan program.

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!

Kenyataan
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
Apakah ciri-ciri utama rangka kerja ujian ThinkPHP?Apakah ciri-ciri utama rangka kerja ujian ThinkPHP?Mar 18, 2025 pm 05:01 PM

Artikel ini membincangkan rangka kerja ujian ThinkPHP, yang menonjolkan ciri-ciri utamanya seperti ujian unit dan integrasi, dan bagaimana ia meningkatkan kebolehpercayaan aplikasi melalui pengesanan bug awal dan kualiti kod yang lebih baik.

Bagaimana cara menggunakan ThinkPhp untuk membina suapan data pasaran saham masa nyata?Bagaimana cara menggunakan ThinkPhp untuk membina suapan data pasaran saham masa nyata?Mar 18, 2025 pm 04:57 PM

Artikel membincangkan menggunakan ThinkPHP untuk suapan data pasaran saham masa nyata, memberi tumpuan kepada persediaan, ketepatan data, pengoptimuman, dan langkah-langkah keselamatan.

Apakah pertimbangan utama untuk menggunakan ThinkPhp dalam seni bina tanpa pelayan?Apakah pertimbangan utama untuk menggunakan ThinkPhp dalam seni bina tanpa pelayan?Mar 18, 2025 pm 04:54 PM

Artikel ini membincangkan pertimbangan utama untuk menggunakan ThinkPhp dalam arkitek tanpa pelayan, memberi tumpuan kepada pengoptimuman prestasi, reka bentuk tanpa statik, dan keselamatan. Ia menyoroti faedah seperti kecekapan kos dan skalabiliti, tetapi juga menangani cabaran

Bagaimana untuk melaksanakan penemuan perkhidmatan dan mengimbangi beban dalam microservices ThinkPHP?Bagaimana untuk melaksanakan penemuan perkhidmatan dan mengimbangi beban dalam microservices ThinkPHP?Mar 18, 2025 pm 04:51 PM

Artikel ini membincangkan pelaksanaan penemuan perkhidmatan dan mengimbangi beban dalam microservices ThinkPHP, memberi tumpuan kepada persediaan, amalan terbaik, kaedah integrasi, dan alat yang disyorkan. [159 aksara]

Apakah ciri -ciri canggih bekas suntikan ketergantungan ThinkPhp?Apakah ciri -ciri canggih bekas suntikan ketergantungan ThinkPhp?Mar 18, 2025 pm 04:50 PM

ThinkPhp's Container IOC menawarkan ciri -ciri canggih seperti pemuatan malas, mengikat kontekstual, dan suntikan kaedah untuk pengurusan ketergantungan yang cekap di php apps.Character Count: 159

Bagaimana cara menggunakan ThinkPhp untuk membina alat kerjasama masa nyata?Bagaimana cara menggunakan ThinkPhp untuk membina alat kerjasama masa nyata?Mar 18, 2025 pm 04:49 PM

Artikel ini membincangkan menggunakan ThinkPHP untuk membina alat kerjasama masa nyata, memberi tumpuan kepada persediaan, integrasi WebSocket, dan amalan terbaik keselamatan.

Apakah faedah utama menggunakan ThinkPhp untuk membina aplikasi SaaS?Apakah faedah utama menggunakan ThinkPhp untuk membina aplikasi SaaS?Mar 18, 2025 pm 04:46 PM

ThinkPHP memberi manfaat kepada aplikasi SaaS dengan reka bentuk ringan, seni bina MVC, dan extensibility. Ia meningkatkan skalabiliti, mempercepatkan pembangunan, dan meningkatkan keselamatan melalui pelbagai ciri.

Bagaimana untuk membina sistem giliran tugas yang diedarkan dengan ThinkPhp dan RabbitMQ?Bagaimana untuk membina sistem giliran tugas yang diedarkan dengan ThinkPhp dan RabbitMQ?Mar 18, 2025 pm 04:45 PM

Artikel ini menggariskan membina sistem giliran tugas yang diedarkan menggunakan ThinkPhp dan RabbitMQ, yang memberi tumpuan kepada pemasangan, konfigurasi, pengurusan tugas, dan skalabilitas. Isu -isu utama termasuk memastikan ketersediaan yang tinggi, mengelakkan perangkap biasa seperti implope

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.