Apr 20 2009

PHP Devel with Emacs: Syntax errors

Manfred Pürro @ 10:17

While developing it’s nice to have a on-the-fly syntax checker. With emacs thats quite easy. Just add the following to your .emacs


;; Flymake PHP Extension

"(provide 'flymake-php)"

(require 'flymake)

(defun flymake-php-init ()
"Use php to check the syntax of the current file."
(let* ((temp (flymake-init-create-temp-buffer-copy 'flymake-create-temp-inplace))
(local (file-relative-name temp (file-name-directory buffer-file-name))))
(list "php" (list "-f" local "-l"))))

(add-to-list 'flymake-err-line-patterns
'("\\(Parse\\|Fatal\\) error: +\\(.*?\\) in \\(.*?\\) on line \\([0-9]+\\)$" 3 4 nil 2))

(add-to-list 'flymake-allowed-file-name-masks '("\\.php$" flymake-php-init))

(add-hook 'php-mode-hook (lambda () (flymake-mode 1)))
(define-key php-mode-map '[M-S-up] 'flymake-goto-prev-error)
(define-key php-mode-map '[M-S-down] 'flymake-goto-next-error)

and there you are…
emacs-flymake-phpmp-t400

If you now have a syntax error, flymake tells you by highligting the line in red! (here it’s a missing ‘)’.

Have fun

  • Share/Bookmark

Tags: , , ,