Trình kiểm tra tương thích PHP GitHub

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ới

Ví 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 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=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

Làm cách nào để kiểm tra tính tương thích của PHP?

Bạn có thể kiểm tra tính tương thích của một tập lệnh cụ thể bằng cách sử dụng lệnh php -l trước khi triển khai tập lệnh đó.

Làm cách nào để sử dụng trình thám thính mã PHP?

Trong hộp thoại Cài đặt, đi tới Trình chỉnh sửa > Kiểm tra. Từ màn hình kiểm tra, mở rộng PHP. Nút công cụ chất lượng và kích hoạt “xác thực PHP CodeSniffer”. Trong ngăn cấu hình hiện đã được bật, hãy chọn “Tùy chỉnh” từ trình đơn thả xuống “Tiêu chuẩn viết mã”, tìm cấu hình bộ quy tắc ( phpcs