Hướng dẫn php codesniffer
Chào các bạn, Show Có lẽ không cần dài dòng, nếu chưa biết gì về coding convention thì mình đã có hẳn một bài viết xịn sò là Chuẩn coding convention trong PHP với PSR, bạn có thể tham khảo nếu thấy cần thiết. Còn trong bài viết này, mình sẽ hướng dẫn bạn cách sử dụng công cụ PHP CodeSniffer để kiểm tra convention tự động khi lập trình PHP.
Vài điểm Hightlight về PHP CodeSniffer như sau: – PHP
CodeSniffer gồm 2 công cụ chính là II. Cài đặt và sử dụng PHP CodeSniffer2.1 Chuẩn bị
2.2 Cài đặt PHP CodeSnifferNhư mình đã trình bày, CodeSniffer có thể cài global hoặc cài theo từng dự án, trong bài viết này mình sẽ cài global luôn cho máu.
Sau khi cài xong, bạn cần tìm được thư mục home của composer, tùy vào từng hệ điều hành mà đường dẫn tới thư mục home sẽ khác nhau. Để tìm thư mục home, bạn chạy lệnh sau:
Kết quả sẽ dạng như sau:
Thì Bước tiếp theo, cùng kiểm tra xem PHP CodeSniffer đã được cài đặt hay chưa, bằng cách chạy lệnh sau:
Nếu cài đặt thành công, thì sẽ có kết quả như sau:
2.3 Chạy thử PHP CodeSnifferĐây là phần trọng tâm của bài viết, các bạn đọc cẩn thận và làm theo ví dụ nhé. Tạo trước một file PHP và cố tình code sai convention, để thử xem thằng PHP CodeSniffer có nhận ra hay không.
Copy nội dung sau bỏ vào file test.php
Thử chạy nốt thằng
Sau khi chạy xong lệnh trên, file Đúng là code được sửa lại thật, nhưng có vẻ vẫn chưa đúng lắm, vẫn có 2 lỗi chưa fix được:
– Ơ thế hóa ra thằng CodeSniffer này không được việc lắm nhỉ, có lỗi thì fix được có lỗi thì không? Bạn tạo tiếp file tên là Sau đó chạy lại lệnh
Sau đó cùng xem lại file test.php để xem nó được fix lỗi như thế nào. Tất cả lỗi convention đã được fixBất ngờ chưa, các lỗi convention được fix hết luôn rồi kìa. Fix được là do file Qua ví dụ trên, mình đã chỉ các bạn đi qua một lượt các tính năng cơ bản của PHP CodeSniff, bạn có thể tìm hiểu chi tiết hơn ở wiki của PHP_CodeSniffer. III. Lời kếtBài viết này cũng khá dài rồi, nên mình tạm dừng ở đây, nhưng dự kiến sẽ còn 2 bài viết nữa xoay quanh thằng PHP CodeSniffer này. Một bài mình sẽ
chia sẻ các rules trong file |