PHP
php-cs-fixer
PHP5.6

php-cs-fixerを今更php5で使う

php-cs-fixer便利だよね

私はもっぱらIDEのソースフォーマット機能を使ってるが、 コマンドラインでできた方が遥かに便利だろう。たとえばcommit hookでソース成形を強制することもできるようになる。納品前にソースの体裁を整えたいとかそれはもう色々。

FriendsOfPHP/PHP-CS-Fixer: A tool to automatically fix PHP coding standards issues

ご存知php-cs-fixer。便利ですね。ハイ。

最新版は成形対象のソースにかかわらず、php本体が7.1である必要がある。まあそりゃそうですね。

php5.6で使う

案件によってはphp5.6でメンテナンスを続けなければならない場合もままあるだろう。

しかし絶望することはない。2.2.Xであれば問題なくphp5.6でも運用できる。

Release v2.2.16 · FriendsOfPHP/PHP-CS-Fixer

$ wget -N https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.16/php-cs-fixer.phar
$ php php-cs-fixer.phar --version
PHP CS Fixer version 2.2.16 by Fabien Potencier and Dariusz Ruminski (f67918e)

$ php --version
PHP 5.5.9-1ubuntu4.20 (cli) (built: Oct  3 2016 13:00:37) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
$ 

当然古いので、最新版の機能は使えません。readme.rstを確認されたし。

FriendsOfPHP/PHP-CS-Fixer at 2.2

self-update注意

php-cs-fixer自身はセルフアップデート機能を持つが、本体phpのバージョンお構いなしに最新あげてしまうのでphp5のままでは起動すらしなくなる。ちなみにバージョンアップ自体は成功してる。

$ php -q php-cs-fixer.phar self-update
php-cs-fixer updated (v2.11.1)

$ php -q php-cs-fixer.phar 
PHP needs to be a minimum version of PHP 5.6.0 and maximum version of PHP 7.2.*.
$