Latest posts: Articles on Christoph’s Blog…
PHP-CS-Fixer расшифровывается как PHP Coding Standards Fixer. С помощью этого пакета вы можете автоматически исправить или отформатировать ваш PHP-код в соответствии со стандартными настройками (например, PSR-2) или просто следовать некоторым отобранным правилам. Пожалуйста, посетите репозиторий Github для более подробной информации и документации.
Это также может сэкономить много времени и труда, когда вы обновляете свой код PHP до более поздней версии PHP. В WordPress огромное количество тем и плагинов по-прежнему совместимо с PHP 5.2. За это время в PHP-мире многое произошло.
Просто array()
создайте визуальную точку зрения, все объявления делают код действительно грязным. Синтаксис короткого массива, представленный в PHP 5.4, выглядит намного лучше.
В одном из моих проектов мне потребовался минимум PHP 5.6. Это означает, что я могу переключиться на синтаксис короткого массива. НО, просматривая все файлы вручную и заменяя каждое array()
объявление []
сокращением, займет много времени и неосуществимо.
PHP-CS-Fixer может позаботиться об этом с помощью одной строки кода в командной строке. (Если вы работаете в Windows, это немного больше работы.
Сначала вам нужно установить пакет. Репозиторий Github показывает несколько различных вариантов установки PHP-CS-Fixer. Я решил установить его глобально с помощью Composer.
composer global require friendsofphp/php-cs-fixer
Далее запустите следующий код:
php-cs-fixer fix /path/to/project/ --rules='{"array_syntax": {"syntax": "short"}}'
Если вы работаете в Windows, это не будет работать, и команда вернет ошибку «Путь« {синтаксис: »не читается».
Это потому, что cmd.exe меняет двойные кавычки, и я не нашел способа последовательно избегать двойных кавычек.
Решением для Windows является создание файла конфигурации ( .php_cs
или .php_cs.dist
), который PHP-CS-Fixer будет автоматически читать и выполнять.
Вы можете использовать .php_cs.dist
в репозитории Github как директива.
Я просто сохранил правило для синтаксиса коротких массивов:
<?php
$header = <<<'EOF'
This file is part of PHP CS Fixer.
(c) Fabien Potencier <fabien@symfony.com>
Dariusz Rumiński <dariusz.ruminski@gmail.com>
This source file is subject to the MIT license that is bundled
with this source code in the file LICENSE.
EOF;
$finder = PhpCsFixer\Finder::create()
->exclude('tests/Fixtures')
->in(__DIR__)
;
$config = PhpCsFixer\Config::create()
->setRiskyAllowed(true)
->setRules([
'array_syntax' => ['syntax' => 'short'],
])
->setFinder($finder)
;
return $config;
После того, как вы сохранили файл в корневом каталоге вашего проекта, вы можете запустить PHP-CS-Fixer с командой, php-cs-fixer fix
чтобы запустить его через весь проект, или вы можете указать папки, которые вы хотите отформатироватьphp-cs-fixer fix /path/to/project