Richter web-программист: создание сайтов, написание интернет-магазинов, создание скриптов на PHP, MySQL, JavaScript. Системы управления сайтом, CMS.
English version

Статьи веб-программиста: Инструменты проверки оформления кода PHP

Система построения сайта SBS "Web-Pro"
SBS Web-Pro Средство для создания и удобного управления сайтом, имеющее расширенные по сравнению с CMS (Content Management System) характеристики. Более 5 лет успешного использования. Подробнее
Пишите!
Telegram
@richter_a

Инструменты проверки оформления кода PHP

К списку статей

Есть несколько средств автоматизированной проверки кода PHP на соответствие стандартам (PSR-1, PSR-12 и т.п.). Отмечу, что эти средства не проверяют правильность скрипта. В целом это полезные инструменты, приучают к правильному написанию кода, наглядно показывая стилистические ошибки.
Рассмотрим два варианта, оба независимые, устанавливаются через Composer.

PHP Coding Standards Fixer

https://cs.symfony.com
https://github.com/PHP-CS-Fixer/PHP-CS-Fixer

Установка


mkdir --parents tools/php-cs-fixer
composer require --working-dir=tools/php-cs-fixer friendsofphp/php-cs-fixer

Использование

tools/php-cs-fixer/vendor/bin/php-cs-fixer fix src

Тестирует на соответствие стандартам PSR-1, PSR-2 и др., можно устанавливать свои правила.
Сканирует и исправляет файлы.
Минус в том, что везде добавляет фигурные скобки в условиях даже там, где одиночные простые выражения типа присвоения или вызова функции - это самое раздражающее.
Иногда ошибается с отступами - не на тот уровень переносит строку.
Добавляет пустую строку в начале после в конце файла - это соответствует стандартам, но иногда хочется это отключить. Вроде бы в этом плане правильно проверяет - срабатывает, только когда в файле есть только PHP-код.
Добавляет public к свойствам и методам классов, если не указано.
Любит заменять else if на elseif - стоит потестировать внимательно, как бы лишнего не исправлял.
В папке vendor не проверяет.

Может интегрироваться с PhpStorm, VS Code и др.

PHP_CodeSniffer

https://github.com/squizlabs/PHP_CodeSniffer

Установка

composer require "squizlabs/php_codesniffer=*"

Использование

Проверка:
/vendor/bin/phpcs app
Исправление:
./vendor/bin/phpcbf app

Может интегрироваться с PhpStorm.

© 2023 Richter
Распространение только с разрешения автора
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий

Наверх