Flycheck полагается на внешние утилиты при проверке синтаксиса и статическом анализе.
Решение вашей задачи состоит из нескольких этапов.
1. Установка php-mode.
2. Установка flycheck.
3. Установка внешних утилит для проверки синтаксиса и статического анализа PHP-кода.
1. Установка php-mode.
Я использую для этого
straight.el. Вы можете использовать любой другой менеджер пакетов. Настройки, описанные ниже, почти без изменений будут работать и у вас.
(straight-use-package 'php-mode)
(defun setup-php-mode ()
"Settings for 'php-mode'"
(interactive)
(flycheck-mode 1))
(add-to-list 'auto-mode-alist '("\\.php\\'" . php-mode))
(add-hook 'php-mode-hook #'setup-php-mode)
2. Установка Flycheck.
;; FLYCHECK
(straight-use-package `flycheck)
(defun setup-flycheck-mode ()
"Settings for 'flycheck-mode'."
(interactive)
(defvar flycheck-check-syntax-automatically '(mode-enabled save))
(defvar flycheck-indication-mode 'left-margin)
(setq
flycheck-check-syntax-automatically '(mode-enabled save)
flycheck-indication-mode 'left-margin))
(add-hook 'flycheck-mode-hook #'setup-flycheck-mode)
3. Перезапустите EMACS, чтобы он подхватил новые настройки. Откройте любой PHP-файл и вызовите команду
flycheck-verify-setup
. В новом буфере будет выведена информация о том, на какие внешние средства полагается Flycheck. При необходимости установите их с помощью пакетного менеджера своей ОС. Внесите изменения в файл и посмотрите, какие предупреждения и ошибки выдаст Flycheck.