PHP Coding Standard Fixerを使ってFuelPHPを使った開発を最適化する

NO IMAGE

FuelPHPが自動で生成してくれるコードがPSRに準拠したものではないので、PHP Coding Standard Fixerを使ってある程度自動で直せるようにすることにしました

インストール

導入方法はThe PHP Coding Standards Fixerに書いてあるとおりで、http://cs.sensiolabs.org/get/php-cs-fixer.pharをダウンロードして好きなところに置くだけです

homeディレクトリにインストールする場合

sudo wget http://cs.sensiolabs.org/get/php-cs-fixer.phar -O ~/php-cs-fixer
sudo chmod a+x ~/php-cs-fixer

Vimから実行する

出来るだけ手間を掛けずに使いたいのでVimから実行出来るようにします
これもstephpy/vim-php-cs-fixer · GitHubに書いてあるとおりにやればOK、簡単です

インストール

vimのプラグイン管理はpathogen.vimを使っているのでgit submoduleコマンドでインストールします

git submodule add https://github.com/stephpy/vim-php-cs-fixer.git vimfiles/bundle/vim-php-cs-fixer

設定

$ vim ~/.vimrc

let g:php_cs_fixer_path = "~/php-cs-fixer" " php-cs-fixerをインストールした場所を指定
let g:php_cs_fixer_level = "all"                " which level ?
let g:php_cs_fixer_config = "default"           " configuration
let g:php_cs_fixer_php_path = "php"             " Path to PHP
let g:php_cs_fixer_fixers_list = ""             " List of fixers
let g:php_cs_fixer_enable_default_mapping = 1   " Enable the mapping by default (<leader>pcd)
let g:php_cs_fixer_dry_run = 0                  " Call command with dry-run option
let g:php_cs_fixer_verbose = 0                  " Return the output of command if 1, else an inline information.

nnoremap <silent><leader>pcd :call PhpCsFixerFixDirectory()<CR>
nnoremap <silent><leader>pcf :call PhpCsFixerFixFile()<CR>

これで完了です
コーディング規約に合わせた修正を行いたいファイルを開き[¥pcf]を押せば修正されます

FuelPHPが自動生成したファイルに実行してみるとこんな感じになります
PHP Coding Standard Fixer · 54b6cfe · nobuhiko/mylogbook · GitHub

class名、classの{}の位置、if文の{}の位置、などが修正されました
意識してコーディング規約に合わせるのは手間がかかる作業なので自動化出来るのはとても助かりますねヽ(´ー`)ノ