Стандарты оформления - это набор правил, в которых оговаривается внешний вид кода: где ставятся пробелы, где нужны пустые строки, какие кавычки использовать и так далее.
Они помогают приводить код к единому виду. Это важно для командной работы, изучения или доработки open-source программ - разбираться в чужом коде проще и быстрее. Потратив немного времени на внедрение стандартов оформления в вашей работе вы получите гарантированный выигрыш в продуктивности: читать чужой код будет так же легко, как и свой.
Существует несколько стандартов оформления кода. Для PHP наиболее распространены - Zend Coding Standard, PEAR и PSR. В статье рассмотрим способ автоматического оформления кода по стандарту PSR. Для этого существует удобная библиотека php-cs-fixer.
Установить php-cs-fixer можно глобально или локально. При локальной установке библиотека будет сохранена в папке vendor вашего проекта.
Cкачать программу можно напрямую из репозитория, но мы для удобства воспользуемся менеджером пакетов Composer.
Локальная установка:
composer require friendsofphp/php-cs-fixer
Глобальная установка:
composer global require friendsofphp/php-cs-fixer
Глобальная установка бывает удобна для использования в нескольких проектах, но с разными стилистическими правилами.
Исправить оформление кода можно либо в отдельном файле, либо во всех файлах указанной папки. Делается это с помощью команды fix. По умолчанию используются стандарты PSR-1 и PSR-2.
При глобальной установке:
php-cs-fixer fix путь-к-файлу.php php-cs-fixer fix путь-к-папке/
В случае локальной установки вам необходимо обратиться к скомпилированному файлу:
/path/to/project/vendor/bin/php-cs-fixer fix путь-к-файлу.php
C:\Users\Orkhan\Desktop\csfixer>php-cs-fixer
PHP CS Fixer 3.2.1 Mountains by Fabien Potencier and Dariusz Ruminski
Usage:
command [options] [arguments]
Options:
-h, --help Display help for the given command. When no command is given display help for the list command
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
describe Describe rule / ruleset.
fix Fixes a directory or a file.
help Display help for a command
list List commands
list-files List all files being fixed by the given config.
list-sets List all available RuleSets.
self-update [selfupdate] Update php-cs-fixer.phar to the latest stable version.
Source: Orkhan Alishov's notes