Добавление нескольких стандартов кодирования с помощью Composer
Одно дело использовать PHP CodeSniffer вручную, но если вы используете такую утилиту, как GrumPHP, для проверки своей работы перед ее фиксацией в репозиторий, то вам, вероятно, захочется использовать версию, которую вы устанавливаете вместе с проект.
Это предполагает, что:
- Вы устанавливаете PHP CodeSniffer локально в свой проект,
- Вы хотите установить определенный набор стандартов кодирования для работы с вашим кодом.
Помните, что это также делается в контексте желания запускать автоматические сценарии во время процесса фиксации и в локальной среде (а не в глобальных настройках) с помощью Composer.
Composer предлагает возможность писать сценарии во время выполнения. Из руководства :
Сценарий, с точки зрения Composer, может быть либо обратным вызовом PHP (определяемым как статический метод), либо любой исполняемой командой командной строки. Сценарии полезны для выполнения пользовательского кода пакета или специфичных для пакета команд во время процесса выполнения Composer.
Чтобы установить несколько стандартов кодирования с помощью Composer, чтобы мы могли делать то, что мы делаем с GrumPHP и любым процессом предварительной фиксации, нам нужно воспользоваться сценариями pre-install-cmd и pre-update-cmd. Это гарантирует, что для двоичного кода PHP CodeSniffer на уровне проекта будут установлены надлежащие стандарты кодирования.
"scripts": {
"post-install-cmd": [
""vendor/bin/phpcs" --config-set installed_paths /Users/tommcfarlin/Sync/Projects/wpcs/WordPress"
],
"post-update-cmd": [
""vendor/bin/phpcs" --config-set installed_paths /Users/tommcfarlin/Sync/Projects/wpcs/WordPress"
],
},
Обратите внимание, что в приведенном выше примере я добавляю стандарты кодирования WordPress в PHP CodeSniffer.
Но вы можете добавить несколько версий стандартов кодирования, например:
"scripts": {
"post-install-cmd": [
""vendor/bin/phpcs" --config-set installed_paths /Users/tommcfarlin/Sync/Projects/wpcs/WordPress-Core,/Users/tommcfarlin/Sync/Projects/wpcs/WordPress-VIP"
],
"post-update-cmd": [
""vendor/bin/phpcs" --config-set installed_paths /Users/tommcfarlin/Sync/Projects/wpcs/WordPress-Core,/Users/tommcfarlin/Sync/Projects/wpcs/WordPress-VIP"
],
},
И вы можете добавить любые другие стандарты, которые у вас есть, что позволит вам указать сценарий в правильном месте, где они установлены.
Как только вы это сделаете, стандарты будут применены к PHP CodeSniffer и будут выполняться как во время установки, так и во время процессов обновления Composer.
