Tiêu chuẩn mã hóa tương thích PHP cho PHP CodeSniffer chứa một bộ đánh hơi cho PHP CodeSniffer để kiểm tra tính tương thích giữa các phiên bản PHP. Nó sẽ cho phép bạn phân tích mã của mình để tương thích với các phiên bản PHP cao hơn và thấp hơn
Cài đặt
Nếu chưa cài đặt, hãy cài đặt PHP CodeSniffer trước
composer require squizlabs/php_codesniffer --dev
Sau đó cài đặt các quy tắc “PHPCompatibility” bằng lệnh này
composer require phpcompatibility/php-compatibility @develop --dev
Để chạy trình kiểm tra Tương thích PHP dưới dạng lệnh Trình soạn thảo gốc, hãy thêm phần sau vào tệp composer.json
của bạn
Sử dụng PHPCompatibilityPasswordCompat, bạn có thể phân tích cơ sở mã của một dự án bằng cách sử dụng thư viện polyfill password_compat của @ircmaxell, để tương thích với nhiều phiên bản PHP
Có gì trong repo này?
Một bộ quy tắc cho PHP_CodeSniffer để kiểm tra các vấn đề tương thích giữa các phiên bản PHP trong các dự án, đồng thời tính toán các polyfill được cung cấp bởi thư viện password_compat polyfill của @ircmaxell
Bộ quy tắc này ngăn chặn các thông báo sai từ tiêu chuẩn Tương thích PHP bằng cách loại trừ điền ngược và điền nhiều được cung cấp bởi thư viện random_compat
Yêu cầu
PHP_CodeSniffer
- PHP5. 3+ để sử dụng với PHP_CodeSniffer 2. 3. 0+
- PHP5. 4+ để sử dụng với PHP_CodeSniffer 3. 0. 2+
Sử dụng bản phát hành ổn định mới nhất của PHP_CodeSniffer để có kết quả tốt nhất. Phiên bản khuyến nghị tối thiểu của PHP_CodeSniffer là phiên bản 2. 6. 0
Khả năng tương thích PHP 9. 0. 0+
Hướng dẫn cài đặt
Phương thức cài đặt duy nhất được hỗ trợ là thông qua Composer
Nếu bạn chưa cài đặt plugin Composer để quản lý cài đặt installed_paths
cho PHP_CodeSniffer, hãy chạy đoạn mã sau từ dòng lệnh
composer config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true composer require --dev dealerdirect/phpcodesniffer-composer-installer:"^0.7" phpcompatibility/phpcompatibility-passwordcompat:"*"
Nếu bạn đã cài đặt plugin Composer PHP_CodeSniffer, hãy chạy
composer require --dev phpcompatibility/phpcompatibility-passwordcompat:"*"
Tiếp theo, chạy
vendor/bin/phpcs -i
Nếu mọi việc suôn sẻ, bây giờ bạn sẽ thấy rằng các tiêu chuẩn ________ 21 _______ và _______ 22 _______ đã được cài đặt cho PHP_CodeSniffer
Cách sử dụng
Bây giờ bạn có thể sử dụng lệnh sau để kiểm tra mã trong dự án của mình để biết khả năng tương thích giữa các phiên bản PHP
./vendor/bin/phpcs -p . --standard=PHPCompatibilityPasswordCompat
Theo mặc định, bạn sẽ chỉ nhận được thông báo về các tính năng PHP không dùng nữa và/hoặc bị xóa
Để tận dụng tối đa tiêu chuẩn PHPCompatibilityPasswordCompat, bạn nên chỉ định một
composer require --dev phpcompatibility/phpcompatibility-passwordcompat:"*"
0 để kiểm tra lại. Điều đó sẽ cho phép kiểm tra cả các tính năng PHP bị loại bỏ/không dùng nữa cũng như phát hiện mã bằng các tính năng PHP mớiVí dụ
# For a project which should be compatible with PHP 5.3 up to and including PHP 7.0: ./vendor/bin/phpcs -p . --standard=PHPCompatibilityPasswordCompat --runtime-set testVersion 5.3-7.0 # For a project which should be compatible with PHP 5.4 and higher: ./vendor/bin/phpcs -p . --standard=PHPCompatibilityPasswordCompat --runtime-set testVersion 5.4-
Để biết thêm thông tin chi tiết về cách đặt
composer require --dev phpcompatibility/phpcompatibility-passwordcompat:"*"
0, hãy xem README của tiêu chuẩn chungChỉ kiểm tra các tệp PHP
Theo mặc định PHP_CodeSniffer sẽ phân tích các tệp PHP, JavaScript và CSS. Vì PHPCompatibility chỉ đánh hơi mã PHP mục tiêu, bạn có thể chạy nhanh hơn một chút bằng cách yêu cầu PHP_CodeSniffer chỉ kiểm tra các tệp PHP, như vậy
./vendor/bin/phpcs -p . --standard=PHPCompatibilityPasswordCompat --extensions=php --runtime-set testVersion 5.3-
Giấy phép
Tất cả mã trong tổ chức PHPCompatibility được phát hành theo Giấy phép Công cộng Ít hơn GNU [LGPL]. Để biết thêm thông tin, hãy truy cập https. //www. gnu. org/copyleft/ít hơn. html
Sử dụng PHPCompatibilityJoomla, bạn có thể phân tích cơ sở mã của dự án dựa trên Joomla để tương thích với nhiều phiên bản PHP
Có gì trong repo này?
Bộ quy tắc cho PHP_CodeSniffer để kiểm tra các vấn đề tương thích giữa các phiên bản PHP trong các dự án dựa trên Joomla CMS
Bộ quy tắc cụ thể của Joomla này ngăn chặn các lỗi tích cực từ tiêu chuẩn Tương thích PHP bằng cách loại trừ điền ngược và điền nhiều do Joomla cung cấp
Yêu cầu
PHP_CodeSniffer
- PHP5. 3+ để sử dụng với PHP_CodeSniffer 2. 3. 0+
- PHP5. 4+ để sử dụng với PHP_CodeSniffer 3. 0. 2+
Sử dụng bản phát hành ổn định mới nhất của PHP_CodeSniffer để có kết quả tốt nhất. Phiên bản khuyến nghị tối thiểu của PHP_CodeSniffer là phiên bản 2. 6. 0
Khả năng tương thích PHP 9. 0. 0+
Tương thích PHP Paragonie 1. 0. 0+
Khả năng tương thích PHPPasswordCompat 1. 0. 0+
Khả năng tương thích PHPSymfony 1. 0. 0+
Hướng dẫn cài đặt
Phương thức cài đặt duy nhất được hỗ trợ là thông qua Composer
Nếu bạn chưa cài đặt plugin Composer để quản lý cài đặt installed_paths
cho PHP_CodeSniffer, hãy chạy đoạn mã sau từ dòng lệnh
composer config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true composer require --dev dealerdirect/phpcodesniffer-composer-installer:"^0.7" phpcompatibility/phpcompatibility-joomla:"*"
Nếu bạn đã cài đặt plugin Composer PHP_CodeSniffer, hãy chạy
composer require --dev phpcompatibility/phpcompatibility-joomla:"*"
Tiếp theo, chạy
vendor/bin/phpcs -i
Nếu mọi việc suôn sẻ, bây giờ bạn sẽ thấy rằng PHPCompatibility
, PHPCompatibilityJoomla
và một số tiêu chuẩn PHPCompatibility khác đã được cài đặt cho PHP_CodeSniffer
Cách sử dụng
Bây giờ bạn có thể sử dụng lệnh sau để kiểm tra mã của mình
./vendor/bin/phpcs -p . --standard=PHPCompatibilityJoomla
Theo mặc định, bạn sẽ chỉ nhận được thông báo về các tính năng PHP không dùng nữa và/hoặc bị xóa
Để tận dụng tối đa tiêu chuẩn PHPCompatibilityJoomla, bạn nên chỉ định một testVersion
để kiểm tra lại. Điều đó sẽ cho phép kiểm tra cả các tính năng PHP bị loại bỏ/không dùng nữa cũng như phát hiện mã bằng các tính năng PHP mới
Yêu cầu PHP tối thiểu của dự án Joomla tại thời điểm này là PHP 5. 3. 10. Nếu bạn muốn thực thi điều này, hãy thêm
composer require --dev phpcompatibility/phpcompatibility-joomla:"*"
0 vào lệnh dòng lệnh của bạn hoặc thêm composer require --dev phpcompatibility/phpcompatibility-joomla:"*"
1 vào lệnh của bạn.Ví dụ
# For a project which should be compatible with PHP 5.3 and higher: ./vendor/bin/phpcs -p . --standard=PHPCompatibilityJoomla --runtime-set testVersion 5.3-
Để biết thêm thông tin chi tiết về cách đặt testVersion
, hãy xem README của tiêu chuẩn chung
Chỉ kiểm tra các tệp PHP
Theo mặc định PHP_CodeSniffer sẽ phân tích các tệp PHP, JavaScript và CSS. Vì PHPCompatibility chỉ đánh hơi mã PHP mục tiêu, bạn có thể chạy nhanh hơn một chút bằng cách yêu cầu PHP_CodeSniffer chỉ kiểm tra các tệp PHP, như vậy
./vendor/bin/phpcs -p . --standard=PHPCompatibilityJoomla --extensions=php --runtime-set testVersion 5.3-
Giấy phép
Tất cả mã trong tổ chức PHPCompatibility được phát hành theo Giấy phép Công cộng Ít hơn GNU [LGPL]. Để biết thêm thông tin, hãy truy cập https. //www. gnu. org/copyleft/ít hơn. html