Khanh Hoang - Kenn
Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.
Viết một ứng dụng PHP điều gặp khó khăn nhất so với các ngôn ngữ lập trình khác đó là việc debug – dò lỗi trong source code. Nhưng điều đó không có nghĩa là không thể làm được. Xdebug là một công cụ dùng để debug source web viết bằng PHP, một việc làm rất quan trọng cho việc lập trình và tìm ra lỗi nhanh nhất. Ngoài ra, Xdebug còn là một công cụ profiler rất tốt cho website. Đây là một tính năng giúp tìm ra thắt cổ chai (bottleneck) nhằm cải thiện tốc độ website.
Trong bài viết này, tôi xin giới thiệu với mọi người sử dụng Xdebug cho việc dò lỗi trong ứng dụng web. Và để thực hiện điều này, tôi sẽ dùng Netbeans để tích hợp công cụ này và debug lỗi.
Đầu tiên chúng ta cần chỉnh sửa lại file php.ini để cấu hình các thông số cho Xdebug. Bạn click chuột trái vào icon Wamp server trên thanh hệ thống, chọn vào mục PHP và click vào php.ini như hình bên dưới
Sau đó, chúng ta tìm đến khu vực XDebug (dùng Ctrl + F để tìm), và thêm vào đoạn code như bên dưới.
xdebug.remote_enable=1 xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.remote_handler=dbgp
Khi dùng XDebug, nó đòi hỏi 1 session DEBUGGER, nếu chúng ta code php thuần thì không cần thiết nhưng nếu chúng ta muốn debug một framework với mô hình MVC thì chúng ta cần các add-on này, nhằm mục đích tạo session trên chính url mà mình đang muốn debug.
Bên dưới mình liệt kê 2 add-on thường dùng của mình trên 2 trình duyệt chính
Ngoài ra, bạn có thể tham khảo link sau để có thể cài đặt các add-on cho các trình duyệt khác: http://xdebug.org/docs/remote
Bạn khởi động chương trình Netbeans, vào Menu Tools -> chọn Options và chọn vào Tag PHP, sau đó cấu hình như trong hình bên dưới (mặc định thì Netbeans đã cấu hình như vậy rồi)
Cấu hình debug cho netbeans - PHP
Sau đó, bạn click chuột phải vào project của mình (có thể nhấn Ctrl+1 để mở panel project của Netbeans lên), chọn vào properties, và chọn vào phần Run Configuration như hình bên dưới. Lưu ý: phần Project Url, mọi người tùy chỉnh giống như url đang tiến hành debug, không làm giống như hình, sau đó mọi người click vào nút Advance… như trong hình
Config netbeans for debugging
Sau đó, trong hộp thoại Advance Web Configuration, chọn Do not Open Web Browser và không quan tâm dòng Path Mapping might be needed như hình bên dưới
Advance config project PHP in Netbeans
Như vậy là đã cấu hình xong hết, giờ tới bước cuối cùng.
Trong bài hướng dẫn này, mình sẽ hướng dẫn dựa trên code Zend Framework, bước thực hiện là tương tự cho các framework hoặc CMS khác.
Click chuột phải vào project muốn debug, vào chọn debug như hình bên dưới
Start project debug
Lúc này, Netbeans sẽ waiting 1 session Xdebug, chúng ta hãy mở trình duyệt đã cài add-on như bước 3, và đi tới url cần debug code, (ở đây mình dùng Firefox để làm ví dụ minh họa). Sau đó hãy click vào icon easy debug theo mũi tên trong hình
Sau khi click vào đây, chúng ta refresh lại trang web đang xem để easy Debug gửi 1 Session Debugger cho Netbeans, việc còn lại là chúng ta quay lại Netbeans để bắt đầu debug code. Vì tôi dùng Zend Framework để debug nên đầu tiên hết, chương trình sẽ nhảy tới file index.php trong thư mục public. Điều này không quan trọng, chúng ta sẽ dùng tổ hợp phím sau để tiến hành debug.
Và bây giờ mọi người hãy khám phá tính năng debug của Netbeans với Xdebug.