php-beautifier.el is a lightweight extension that integrates PHP source code beautification into Emacs using the PHP_Beautifier tool. It also supports running code through phpcbf to fix coding standard issues.
All Emacs installs are a little different, but the basic outline is this:
- Download the source code and put it somewhere Emacs can find it (probably
~/.emacs.d/
) - Add that directory to your
load-path
if it's not yet there:(add-to-list 'load-path "/path/to/dir")
- Add
(require 'php-beautifier)
somewhere in your~/.emacs.d/init.el
php-beautifier supplies the following customisation options:
php-beautifier-executable-path
- The full path to thePHP_Beautifier
executable. This isphp_beautifier
by default.php-beautifier-indent-method
- The indentation method to use. Eitherspaces
ortabs
. Default isspaces
.
An example configuration with a full path and tab indentation:
(setq php-beautifier-executable-path "/usr/bin/php_beautifier")
(setq php-beautifier-indent-method "tabs")
The following options must be set for phpcbf
to run:
php-beautifier-phpcbf-path
- The full path to thephpcbf
executable. This isphpcbf
by default.php-beautifier-phpcbf-standard
- The coding standard to use withphpcbf
. This isnil
by default and must be set forphpcbf
to be run.
An example configuration which uses the WordPress
coding standard:
(setq php-beautifier-phpcbf-path "/usr/bin/phpcbf")
(setq php-beautifier-phpcbf-standard "WordPress")
When using phpcbf
the code is still run through php_beautifier
first. In
some circumstances this may create some odd results but it usually works.
php-beautifier can either format an entire buffer or a single region. The
php_beautifier
tool will only format code contained in a <?php
block, so
formatting a region that doesn't contain one will not work.
Interactive Commands
php-beautifier-format-region
- Format the current region and replace it with formatted code.php-beautifier-format-buffer
- Format the current buffer and replace its contents with formatted code.
To run unit tests you'll need Cask installed.
The following command will run all tests:
cask exec ert-runner
Released under the GPLv3. See COPYING
for the full licence.