Có tiêu chuẩn mã hóa PHPCS nào có thể kiểm tra các chú thích thích hợp (@param
, @return
, @throws
, v.v.) có trong tài liệu, bao gồm khoảng cách thích hợp giữa chúng không?Có tiêu chuẩn PHPCS nhắm mục tiêu vào tài liệu PHP không?
Trả lời
Thử chạy lệnh sau đây và xem nếu nó tạo ra những gì bạn muốn:
phpcs /path/to/code --standard=Squiz --sniffs=Squiz.Commenting.FunctionComment,Squiz.Commenting.FunctionCommentThrowTag,Squiz.Commenting.ClassComment,Squiz.Commenting.FileComment,Squiz.Commenting.VariableComment
Nếu có, bạn có thể tạo tiêu chuẩn của riêng bạn mà chỉ bao gồm những ngửi, và bất cứ điều gì khác mà bạn muốn kiểm tra . Bạn làm điều này bằng cách tạo một tệp ruleset.xml
và sử dụng tệp đó làm tiêu chuẩn của bạn.
Ví dụ, bạn có thể tạo một tập tin gọi mystandard.xml
và bao gồm các nội dung sau đây:
<?xml version="1.0"?>
<ruleset name="MyStandard">
<description>My custom coding standard.</description>
<rule ref="Squiz.Commenting.FunctionComment" />
<rule ref="Squiz.Commenting.FunctionCommentThrowTag" />
<rule ref="Squiz.Commenting.ClassComment" />
<rule ref="Squiz.Commenting.FileComment" />
<rule ref="Squiz.Commenting.VariableComment" />
</ruleset>
Sau đó, bạn có thể chạy lệnh này để thay thế:
phpcs /path/to/code --standard=/path/to/mystandard.xml
Có những điều khác mà bạn có thể làm trong tệp ruleset.xml
. Xem các tài liệu ở đây: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml
Trong năm 2017 bạn có bây giờ nhiều lựa chọn:
- một trong những tốt nhất ngửi để kiểm tra docblocks là TypeHintDeclarationSniff from SlevomatCodingStandard, hoạt động tốt với PHP 7, PHP 7.1, thả tài liệu không sử dụng vv .
- bạn cũng có thể tận dụng một công cụ khác - PHP-CS-Fixer, có bạn có thể tìm thêm fixers, mà sẽ giúp bạn với docblock, chỉ cần tìm kiếm "doc"
Câu trả lời này là từ năm 2012. Nó vẫn chính xác. Nhưng tôi sẽ thêm rằng ngày hôm nay, bạn cũng có thể sử dụng Generic.Commenting.Doc sniff. Những sniff này hoạt động hơi khác một chút, vì vậy hãy chọn một loại phù hợp nhất với phong cách của bạn. – mkasberg