07/09/2018, 10:32

Giới Thiệu Về Xdebug Trong PHP

Debug Là gì Lập trình là một công việc đòi hỏi độ chính xác cao khi mà chỉ một thiếu sót nhỏ như quên không viết dấu chấm phảy ở cuối câu lệnh hay gõ sai tên biến cũng có thể dẫn tới việc ứng dụng không hoạt động được hoặc hoạt động theo một hướng khác với yêu cầu bạn đầu. Khi lập trình ngay cả ...

Debug Là gì

Lập trình là một công việc đòi hỏi độ chính xác cao khi mà chỉ một thiếu sót nhỏ như quên không viết dấu chấm phảy ở cuối câu lệnh hay gõ sai tên biến cũng có thể dẫn tới việc ứng dụng không hoạt động được hoặc hoạt động theo một hướng khác với yêu cầu bạn đầu. Khi lập trình ngay cả những ứng dụng đơn giản thì việc mắc phải lỗi trong khi viết code là điều khó có thể tránh khỏi.

Chính vì vậy tìm và phát hiện ra lỗi là công việc diễn ra khá phổ biến đối với các lập trình viên. Quy trình tìm và phát hiện ra lỗi này còn được gọi là debug (đọc là đi-bắc).

Đối với các ứng dụng đơn giản thì việc phát hiện lỗi không tốn quá nhiều thời gian, tuy nhiên khi làm việc với các ứng dụng lớn việc tìm ra lỗi sẽ rất khó khăn vì lúc này không phải bạn sẽ làm việc với vài trăn dòng lệnh mà sẽ là vài triệu dòng lệnh nằm rải rác ở hàng trăm thư mục và tập tin khác nhau. Các lập trình viên giỏi cũng là những người tìm ra lỗi rất nhanh và chính xác. Bài viết này sẽ giúp bạn hiểu quy trình debug và sau đó sẽ làm quen với việc debug trong PHP.

Quy Trình Debug

Một trong những phương pháp đơn giản nhất khi debug ứng dụng đó là lần theo từng dòng code từ đầu đến cuối và sau từng câu lệnh lập trình viên sẽ sử dụng các hàm của PHP như var_dump(), die(), exit() hay echo...để lần theo dấu vết của đoạn mã gây ra lỗi. Hoặc trong trường hợp tốt hơn bạn nghi ngờ một hàm hoặc khối nào đó gây ra lỗi bạn có thể đi tới file chứa khối lệnh hoặc hàm đó để kiểm tra trước nhằm tiết kiệm thời gian.

Xdebug Là Gì

Xdebug (đọc là íc-đi-bắc) là thư viện được viết ra để hỗ trợ việc tìm ra lỗi trong ứng dụng viết bằng PHP một cách hiệu quả hơn. Các công cụ hỗ trợ tìm ra lỗi của ứng dụng như Xdebug được gọi là debugger (đọc là đi-bắc-gơ)

Xdebug hỗ trợ debug như thế nào?

Việc viết mã lệnh để debug vào trực tiếp vào ứng dụng sẽ làm tăng rủi ro của việc giới thiệu lỗi mới vào chương trình. Ngoài ra khi lập trình viên phải debug quá nhiều lần để tìm ra lỗi họ thường có xu hướng thay vì xóa các câu lệnh debug thì họ lại chỉ comment các câu lệnh này đi và rất nhiều trường hợp sau khi tìm ra lỗi họ quên không xóa các comment này hoặc thậm chí quên không xóa cả các câu lệnh debug mà chưa comment. Xdebug được viết để giúp lập trình viên thấy được giá trị của các biến, mảng, thuộc tính đối tượng... khi chạy chương trình mà không cần phải thêm bất kỳ đoạn mã debug nào vào trong source code của ứng dụng.

Ngoài ra Xdebug cũng hỗ trợ việc format màu sắc khi hiển thị nếu bạn chèn câu lệnh debug vào bên trong ứng dụng. Ví dụ chúng ta có câu lệnh sau:

$languages = ['php', 'java', 'ruby'];

var_dump($languages);

Khi không cài đặt thư viện debug thì khi sử dụng trình duyệt để chạy đoạn mã trên sẽ hiển thị kết quả như sau:

Xdebug - Hàm vardump

Sau khi cài đặt thư viện này và kích hoạt hàm var_dump(3) sẽ hiển thị:

Xdebug - Hàm vardum

Trong các bài viết tiếp theo tôi sẽ hướng dẫn bạn cách cài đặt Xdebug và cách debug ứng dụng mà không phải chèn bất kỳ câu lệnh nào vào trong source code ứng dụng.

0