Bạn sẽ cần phải tạo một tiêu chuẩn mã hóa tùy chỉnh nếu bạn muốn ghi đè lên các mã được tích hợp sẵn. Đây chỉ là vấn đề tạo một tệp XML với định nghĩa của tiêu chuẩn trong đó.
Trong trường hợp của bạn, bạn muốn toàn bộ tiêu chuẩn mã hóa Zend, nhưng bạn không muốn quy tắc quy ước đặt tên cụ thể về tên biến. Vì vậy, bạn sẽ tạo ra một tập tin gọi là mystandard.xml
(tên nó bất cứ điều gì bạn muốn và đặt nó nơi nào bạn muốn) và đưa vào các nội dung sau:
<?xml version="1.0"?>
<ruleset name="MyStandard">
<description>My custom Zend coding standard.</description>
<rule ref="Zend">
<exclude name="Zend.NamingConventions.ValidVariableName"/>
</rule>
</ruleset>
Có rất nhiều hơn bạn có thể làm để tùy chỉnh tiêu chuẩn của bạn, bao gồm đưa vào kiểm tra từ các tiêu chuẩn khác, ghi đè tin nhắn hoặc tắt tiếng một số trong số họ. Bạn có thể xem tài liệu tại đây: http://pear.php.net/manual/en/package.php.php-codesniffer.annotated-ruleset.php
Cuối cùng tôi đã kiểm tra, PHPStorm không cho phép bạn sử dụng các tiêu chuẩn mã hóa tùy chỉnh vì bất kỳ lý do gì. Thông thường, bạn chỉ cần nhập tên của tiêu chuẩn làm đường dẫn đầy đủ đến tệp mystandard.xml
. Nếu PHPStorm vẫn không cho phép bạn làm điều đó, cách duy nhất để lừa nó là thực sự cài đặt tiêu chuẩn tùy chỉnh của bạn.
Lưu ý rằng đây không phải là điều bạn thường cần làm và điều này hơi phức tạp. Nhưng nếu bạn muốn thử nó, đây là cách bạn làm điều đó:
- Tìm nơi PHPCS được cài đặt trên hệ thống của bạn. Nếu bạn không biết nó ở đâu, hãy thử
pear config-show | grep php_dir
. PHP_CodeSniffer sẽ nằm trong một thư mục bên dưới. Đối với tôi, PEAR được cài đặt trong /usr/local/PEAR
, vì vậy PHP_CodeSniffer được tìm thấy ở /usr/local/PEAR/PHP/CodeSniffer
- Tạo một thư mục mới có tên gọi
MyStandard
dưới /usr/local/PEAR/PHP/CodeSniffer/Standards
- Đặt tập tin
mystandard.xml
của bạn trực tiếp trong đó nhưng đổi tên nó để ruleset.xml
Để xác nhận của bạn tiêu chuẩn đã được cài đặt, chạy phpcs -i
. Bạn sẽ thấy
The installed coding standards are MySource, MyStandard, PEAR, PHPCS, Squiz and Zend
Bây giờ, PHPStorm sẽ hiển thị (hy vọng) MyStandard
như một tùy chọn trong trình đơn thả xuống. Nếu nó không hiển thị, thì chúng có thể đã được mã hóa cứng trong danh sách và sẽ không có cách nào để làm cho nó hoạt động mà không cần hack trực tiếp tiêu chuẩn mã hóa Zend.
Tôi hy vọng thông tin đó sẽ giúp bạn tìm ra giải pháp. Nếu không, bạn luôn có thể chạy PHPCS trực tiếp trên dòng lệnh bằng cách sử dụng tiêu chuẩn tùy chỉnh của bạn:
phpcs --standard=/path/to/mystandard.xml /path/to/code
Tôi đã dành phần tốt hơn buổi chiều để cố gắng làm việc này. PHPStorm thậm chí sẽ không tải danh sách các tiêu chuẩn đã cài đặt, các tùy chọn duy nhất trong cài đặt thanh tra là trống và tùy chỉnh, và thậm chí chọn tùy chỉnh tùy chọn xác thực không bao giờ hiển thị. Tôi có thể nhận được phpcs để chạy CLI đúng cách nhưng nó sẽ được tốt đẹp để có nó làm việc theo quy định trong các tài liệu cho PHPStorm. –