✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Настройка PHP CodeSniffer для каждого проекта

192

Несколько лет назад я написал статью о настройке PHP CodeSniffer в Visual Studio Code (недавно я ее тоже обновил).

Но прошло четыре года с тех пор, как этот пост был первоначально написан, и за это время многое может измениться с точки зрения того, как мы пишем код.

Четыре года — это примерно эпоха Интернета, не так ли?

В любом случае, основные пункты этой статьи остаются в силе, но если вы работаете над множеством проектов, и некоторые из них требуют разных конфигураций, настроек и стандартов, то способ установки и настройки PHP CodeSniffer может отличаться от как вы настраиваете его на системном уровне.

Итак, если вы находитесь в таком положении, вот как вы можете настроить PHP CodeSniffer для каждого проекта с помощью Visual Studio Code.

PHP CodeSniffer для каждого проекта

В этой статье делается несколько предположений:

Если вы не уверены ни в одном из них, просмотрите эту статью, а затем вернитесь. Я проведу вас через остальные.

1 Установите PHP CodeSniffer локально

Поскольку для разных проектов могут потребоваться разные наборы стандартов, я считаю полезным сохранить копию composer.jsonи, естественно, composer.lockдля каждого проекта отдельно.

Это означает, что в корне моего проекта у меня есть composer.jsonфайл со всем, что мне нужно для данного проекта. В случае с этой статьей мне нужна копия PHP CodeSniffer.

Чтобы установить PHP CodeSniffer и последнюю версию стандартов кодирования WordPress на уровне проекта, я создам указанный выше файл в корне моего проекта, а затем включу следующее:

{ "require": { "wp-coding-standards/wpcs": "2.3.0", "squizlabs/php_codesniffer": "3.*" } }

В большинстве случаев этот файл будет намного сложнее, но вы получите общее представление о том, что вам нужно включить.

Затем запустите, composer installи это создаст vendorкаталог в вашем проекте, который будет включать как стандарты кодирования WordPress, так и PHP CodeSniffer.

Настройка PHP CodeSniffer для каждого проекта

2 Настройте символические ссылки на локальные двоичные файлы

На этом этапе вам может оказаться полезным создать символическую ссылку на двоичные файлы для PHPCS и PHPCBF, чтобы не конфликтовать с тем, что вы запускаете на глобальном уровне.

Для этого в корне проекта вы можете ввести в своем терминале следующее:

$ ln -s /vendor/bin/phpcs phpcs $ ln -s /vendor/bin/phpcbf phpcbf

Это позволит вам запускать двоичные файлы с вашего терминала. Чтобы проверить, что нет, попробуйте следующую команду:

$ ./phpcs --version

И вы должны увидеть такой вывод:

PHP_CodeSniffer version 3.5.5 (stable) by Squiz (http://www.squiz.net)

Если да, то у вас все настроено правильно.

3 Установите расширение PHP CodeSniffer

Следующий шаг, пожалуй, самый простой — настроить расширение PHP CodeSniffer в Code. У вас есть несколько вариантов, но у меня есть хороший опыт работы с этим конкретным расширением.

Настройка PHP CodeSniffer для каждого проекта

После его установки и перезагрузки IDE вы должны быть готовы к установке и настройке PHP CodeSniffer для каждого проекта.

4 Настройте свое рабочее пространство

В Code следующее, что вам нужно сделать, это настроить PHP Code Sniffer для вашего конкретного проекта. Для этого проще всего настроить рабочее пространство для вашего проекта.

Вы можете сделать это, щелкнув меню «Файл», а затем щелкнув пункт меню «Сохранить рабочее пространство как… ». Это создаст project.code-workspaceфайл везде, где вы решите его включить.

Если вы управляете версиями своего проекта, я рекомендую хранить его в корне вашего проекта, чтобы вы могли сохранить его в управлении версиями. Затем, если вы откроете этот файл, вы заметите, что это JSON и включает settingsдирективу. В этой директиве добавьте следующие настройки:

project.code-workspace

Обратите внимание, что выше мы явно сообщаем расширению, где находится путь к исполняемому файлу, то есть в vendorкаталоге относительно workspaceфайла.

Как только вы это сделаете, вы сможете начать писать код и заставить его активно анализировать ваш код во время работы.

Хочу больше?

Если вы заинтересованы в еще более агрессивном сниффинге и исправлении ошибок и проблем в коде, я рекомендую ознакомиться со статьей на GrumPHP.

Источник записи: tommcfarlin.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее