Bài giảng PHP (Hypertext Preprocessing) - Chương 6: Tổ chức ứng dụng PHP trình bày các nội dung chính sau: Hệ thống template, quản lý output, quản lý lỗi, tối ưu hóa,... Mời các bạn cùng tham khảo để nắm nội dung chi tiết.
VI Tổ chức ứng dụng PHP VI.2 Hệ thống template VI.3 Quản lý output VI.4 Quản lý lỗi VI.5 Tối ưu hóa VI.2 Hệ thống template Trang Web có giao diện dễ thay đổi tiêu chí quan trọng Nếu kết hợp mã HTML PHP khơng tốt khó cho người thiết kế giao diện người lập trình làm việc với khả thay đổi giao diện khó khăn Một phương pháp hiệu sử dụng file template (.HTML – thiết kế từ chương trình: DW, FrontPage ) Các file template thường không chứa mã PHP mà có thơng tin dạng quy ước (thường tên gọi, giá trị đặt theo quy ước định, giá trị thay chạy chương trình PHP) VI.2 Hệ thống template (2) VI.3 Quản lý output Thường hàm ghi thơng tin browser Tuy nhiên có nhiều trường hợp khơng muốn Bạn sử dụng vùng đệm (output buffer) để lệnh ghi thông tin ghi liệu lên Các hàm với output buffer: ob_start(), ob_get_length(), ob_get_contents(), ob_flush(), ob_end_flush(); ob_end_clean() VI.4 Quản lý lỗi VI.4.1 Thông báo lỗi VI.4.2 Giấu lỗi VI.4.3 Phát sinh lỗi VI.4.4 Hàm xử lý lỗi VI.4.1 Thông báo lỗi Thông thường, có lỗi, thơng báo lỗi in output Có mức độ thơng báo: notices, warnings, errors Mặc định PHP thông báo warning, error in browser, bạn thay đổi PHP.INI thời gian chạy hàm error_reporting() (các tham số E_ERROR | E_PARSE | E_CORE_ERROR | E_COMPILE_ERROR | E_USER_ERROR) VI.4.1 Thông báo lỗi (2) Value Meaning E_ERROR Runtime errors E_WARNING Runtime warnings E_PARSE Compile-time parse errors E_NOTICE Runtime notices E_CORE_ERROR Errors generated internally by PHP E_CORE_WARNING Warnings generated internally by PHP E_COMPILE_ERROR Errors generated internally by the Zend scripting engine E_COMPILE_WARNING Warnings generated internally by the Zend scripting engine E_USER_ERROR Runtime errors generated by a call to trigger_error( ) E_USER_WARNING Runtime warnings generated by a call to trigger_error( ) E_USER_NOTICE Runtime warnings generated by a call to trigger_error( ) E_ALL All of the above options VI.4.2 Giấu lỗi Sử dụng toán tử @ để ngăn không cho output lỗi browser Thiết lập track_errors php.ini để bắt thông báo lỗi qua biến $php_errormsg Để ngăn không cho tất thông báo lỗi browser, sử dụng hàm error_reporting(0) VI.4.3 Phát sinh lỗi Bạn làm phát sinh lỗi người dùng hàm trigger_error trigger_error(message [, type]); type: E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE (default) return($a / $b); VI.4.4 Hàm xử lý lỗi Giấu tất lỗi phương án hay, để quản lý lỗi tốt hơn, bạn nên dùng hàm xử lý lỗi (error handler) Error handler thiết lập hàm set_error_handler(), khôi phục lại hàm restore_error_handler() ... template thường không chứa mã PHP mà có thơng tin dạng quy ước (thường tên gọi, giá trị đặt theo quy ước định, giá trị thay chạy chương trình PHP) VI.2 Hệ thống template (2) < ?php $templatePath = "./templates/";... ob_end_clean() < ?php ob_start(); phpinfo(); $phpinfo = ob_get_contents(); ob_end_clean(); if (strpos($phpinfo, "module_pdf") === FALSE) { echo "You not have PDF support in your PHP, sorry."; } else { echo... Sử dụng toán tử @ để ngăn không cho output lỗi browser Thiết lập track_errors php. ini để bắt thông báo lỗi qua biến $php_ errormsg Để ngăn không cho tất thông báo lỗi browser, sử dụng hàm