Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengendalian pengecualian PHP: menggunakan perisian tengah pengendalian pengecualian Middleware

Pengendalian pengecualian PHP: menggunakan perisian tengah pengendalian pengecualian Middleware

WBOY
WBOYasal
2024-06-02 12:01:58807semak imbas

Pengendalian pengecualian PHP menggunakan perisian tengah pengendalian pengecualian Middleware, membenarkan pengecualian dikendalikan pada mana-mana lapisan aplikasi tanpa perlu mengendalikannya secara eksplisit dalam setiap pengawal. Langkah-langkahnya adalah seperti berikut: Pasang pustaka Symfony/pengendali ralat. Buat kelas middleware yang melaksanakan antara muka Middleware. Daftarkan middleware dalam aplikasi.

Pengendalian pengecualian PHP: menggunakan perisian tengah pengendalian pengecualian Middleware

Pengendalian Pengecualian PHP: Menggunakan Middleware Exception Pengendalian Middleware

Pengenalan

Pengecualian adalah realiti yang mesti kita hadapi semasa pengekodan. Dalam PHP, anda boleh menggunakan try-catch 语句或 set_exception_handler untuk mengendalikan pengecualian. Walau bagaimanapun, apabila skala perniagaan berkembang, kedua-dua kaedah ini menjadi rumit dan sukar untuk dikekalkan. Middleware Exception mengendalikan middleware menyediakan cara yang elegan dan boleh diperluaskan untuk mengendalikan pengecualian dalam aplikasi PHP.

Apakah itu Middleware?

Middleware ialah sekeping kod yang dijalankan antara permintaan dan respons. Ia bertanggungjawab untuk melakukan tindakan sebelum atau selepas pemprosesan permintaan. Perisian tengah pengendalian pengecualian membolehkan kami mengendalikan pengecualian pada mana-mana lapisan aplikasi tanpa perlu mengendalikannya secara eksplisit dalam setiap pengawal atau kaedah. Gunakan pengendalian pengecualian Middleware

Mari kita fikirkan A aplikasi CRUD mudah. Apabila mencipta rekod baharu, kami perlu mengembalikan mesej ralat jika tarikh yang dimasukkan tidak sah.

composer require symfony/error-handler

Menggunakan middleware pengendalian pengecualian, kita boleh memisahkan pengendalian pengecualian daripada pengawal:

use Symfony\Component\ErrorHandler\Middleware\ErrorMiddleware;

class ExceptionMiddleware
{
    public function __invoke(Request $request, RequestHandler $handler)
    {
        try {
            return $handler->handle($request);
        } catch (\Exception $e) {
            // 处理异常
            return new Response($e->getMessage(), 500);
        }
    }
}

Atas ialah kandungan terperinci Pengendalian pengecualian PHP: menggunakan perisian tengah pengendalian pengecualian Middleware. 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