Skip to content

pivaldi/php-cs-fixer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP-CS-Fixer Wrapper for Emacs

Features

Allows in the Emacs editor to fix most issues in PHP code when you want to follow the coding standards PSR-1 and PSR-2.

Under the hood, this package provides the customisable Elisp command php-cs-fix wich wraps the command line php-cs-fixer version >=2.0 provided by the powerful PHP Coding Standards Fixer

Installation

System part

Install PHP-CS-Fixer so that the command line php-cs-fixer is executable in your system.

Emacs part

From Melpa

This package can be installed from Melpa : M-x package-install <RET> php-cs-fixer <RET>

Manually

This package requires that the cl-lib package was installed.

To install php-cs-fixer.el, place php-cs-fixer.el in a directory of your choice, add it to your load path and require php-cs-fixer writing this code in your emacs configuration file (aka .emacs) :

(add-to-list 'load-path "/place/where/you/put/it/")
(require 'php-cs-fixer)

Either evaluate both statements with C-x C-e, or restart Emacs.

Usage

Try M-x php-cs-fix [ret] when editing a PHP file.

If you want an automatic fix when saving all php files, place this code in your Emacs configuration file :

(add-hook 'before-save-hook 'php-cs-fixer-before-save)

Customisable variables

  • php-cs-fixer-command is the php-cs-fixer command (default is php-cs-fixer) ;
  • php-cs-fixer-config-option is the php-cs-fixer --config option value (default is nil, see the file php-cs-fixer-config.php for an example of configuration file) ;
  • php-cs-fixer-rules-level-part-options is the php-cs-fixer --rules base part options value (default is ‘(“@Symfony”)) ;
  • php-cs-fixer-rules-fixer-part-options is the php-cs-fixer --rules exact rules part options value (default is ("no_multiline_whitespace_before_semicolons" "concat_space")).

Try M-x customize-group [ret] php-cs-fixer [ret] to modify the values of these variables.