Виправлення помилок PHP і PHP CodeSniffer
macOS все ще поставляється з PHP (хоча те, як це виглядає для майбутніх версій ОС , ймовірно, дещо зміниться).
У будь-якому випадку, уявіть, що ви працюєте над проектом, який вимагає трьох різних компонентів:
- PHP,
- Набір стандартів кодування,
- PHP CodeSniffer, який працює із зазначеними стандартами кодування,
- Неможливість належним чином побачити результати нюхання коду у вашому терміналі чи середовищі IDE.
Коли це трапляється, це майже завжди є результатом версії PHP, версії різних залежностей, і переконання, що всі вони добре працюють разом.
Коротше кажучи, йдеться про те, щоб такі інструменти, як PHP CodeSniffer, добре працювали з тією самою версією PHP, яку ви встановили. І в цьому випадку найновіший і найкращий не обов’язково є найкращим варіантом дій.
Це, однак, близько. І в наступних кроках ви зможете змусити все працювати саме так, як потрібно для ваших конкретних налаштувань.
Помилки PHP і PHP CodeSniffer
Я припускаю, що ви користуєтеся останньою версією macOS і вже запустили PHP разом із Hombrew. Пропустіть наступний розділ, якщо так.
Встановлення Homebrew
Якщо ні, обов’язково запустіть такі команди:
$ xcode-select --install
Це встановить необхідні інструменти для використання Homebrew.
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Після цього запустіть у своєму терміналі наступне:
$ brew --version
І ви повинні побачити щось на зразок цього:
Якщо ви звикли використовувати Homebrew, непогано запустити наступне (хоча це не обов’язково):
$ brew doctor
$ brew cleanup
Коли це буде зроблено, ви готові встановити іншу версію (або навіть версії) PHP.
Встановлення сумісної версії PHP
У цей момент я виявив, що PHP 7.3.21 і PHP CodeSniffer 3.3.1 найкраще працюють один з одним.
Щоб установити цю версію PHP, ви можете запустити:
$ brew install php@7.3
Це має автоматично зв’язати цю версію PHP із уже встановленою. Ви можете перевірити це, ще раз запустивши:
$ php -v
І ви повинні побачити PHP 7.3.21.
Що щодо PHP CodeSniffer?
Є кілька способів встановити цей конкретний пакет, але я фанат Composer, тому запустіть наступне:
$ composer global require "squizlabs/php_codesniffer=3.*"
І це повинно завершити все, що вам потрібно мати для PHP CodeSniffer.
Ресурси
Це має усунути будь-які помилки, які ви бачите у вашому терміналі та/або середовищі IDE навколо помилок PHP і PHP CodeSniffer. Щоб дізнатися більше про все, що ви тут бачили, перегляньте наступне: