Kiểm soát hiển thị lỗi trong quá trình lập trình PHP

Kiểm soát hiển thị lỗi trong quá trình lập trình PHP

Trong bất kỳ ngôn ngữ lập trình nào đều luôn đi kèm một công cụ debug để bắt các lỗi xảy ra trong quá trình viết mã của lập trình viên. PHP cũng là ngôn ngữ không ngoại lệ, nó cung cấp cho lập trình viên tên lỗi và dòng lệnh xảy ra lỗi đó. Tuy nhiên PHP còn cho phép bạn tùy biến cấu hình để có thể lựa chọn thông báo lỗi nào sẽ được hiển thị ra bên ngoài trình duyệt thông qua việc cấu hình lại tập tin php.ini ở mức toàn cục, hoặc ở mức riêng trang php thông qua hàm: error_reporting();

Kiểm soát hiển thị lỗi trong lập trình PHP

Kiểm soát hiển thị lỗi trong lập trình PHP

Ở bài viết này mình sẽ không hướng dẫn các bạn thiết lập ở mức toàn cục thông qua điều chỉnh ở tập tin: php.ini mà thông qua việc sử dụng hàm để thiết lập lại thông số này.

Hướng dẫn thiết lập

Cú pháp:

error_reporting(error_level);

Trong đó error_level là cấp độ lỗi mà chúng ta muốn hiển thị. Sau đây là một số cấp độ lỗi thường gặp, cũng như giá trị mà bạn có thể đưa vào hàm error_reporting.

Cấp độ lỗi Giá trị Giá trị tương ứng
E_ERROR 1 Các lỗi trong quá trình chạy (runtine error) nghiêm trọng, khiến đoạn mã buộc phải dừng thực thi.
E_WARNING 2 Các lỗi cảnh báo, không nghiêm trọng. Đoạn mã vẫn tiếp tục được thực thi
E_PARSE 4 Các lỗi phân tích trong thời gian biên dịch, nghiêm trọng
E_NOTICE 8 Các lỗi thông báo không nghiêm trọng
E_ALL   Hiển thị tất cả các lỗi

Khi bạn thiết lập: error_reporting(E_ALL); thì tất cả các lỗi trên đều sẽ được hiển thị khi gặp phải

Có thể thêm & ~ E_PARSE để loại trừ một lỗi nào đó.

Ví dụ mẫu

Đoạn code này có ý nghĩa sẽ hiển thị tất cả các lỗi và không hiển thị 2 lỗi dạng lưu ý và cảnh báo.

Lời kết

Các lỗi như E_NOTICE, E_WARNING có thể được tắt đi, nhưng mình khuyên các bạn nên chủ động sửa các lỗi này vì nếu tối ưu lại chắc chắn code của bạn sẽ hoàn hảo và có thể sẽ tiết kiệm được bộ nhớ trong lúc hoạt động hơn đáng kể. Hi vọng với bài viết này các bạn sẽ có thêm kinh nghiệm lập trình PHP để phục vụ tốt hơn cho công việc của mình.