atomでPHPを開発する上ではMac上に PHP および composer のインストールが不可避なようです。
atomのインストール
brew cask install atom
composerのインストール
brew install homebrew/php/composer
日本語化
apm install japanese-menu
Gitを操作できるようにする
apm install git-plus git-control git-history
コード整形用プラグイン
apm install editorconfig apm install atom-beautify apm install php-cs-fixer brew install homebrew/php/php-cs-fixer php-cs-fixer --version PHP CS Fixer 2.2.1 by Fabien Potencier and Dariusz Ruminski
Atom側の設定
Default Beautifier:PHP-CS-Fixer
Beautify On Saveをクリックすることで保存時に自動的に整形
PHP-CS-Fixer Path
Homebrewでインストールした場合は以下のパス
/usr/local/Cellar/php-cs-fixer/2.2.1/php-cs-fixer
Level
デフォルトが「PSR-2」のようです。
CakePHPは「CakePHP の開発者はコーディング規約として下記のルールに加え、 PSR-2 coding style guide にも従って頂くことになります。」とあるので、そのままでよさそうです。
https://book.cakephp.org/3.0/ja/contributing/cakephp-coding-conventions.html
editorconfigとは
.editorconfig ファイルに記載されたコーディング規約にのっとったルールで整形した上で保存がされます。
CakePHPの場合はデフォルトでベストプラクティスの.editorconfigが用意されています。
https://book.cakephp.org/3.0/ja/contributing/cakephp-coding-conventions.html
php-cs-fixerをインストールしたタイミングでMacのPHPのバージョンが 5.6 から 7.0 にあがるので注意
構文チェック用プラグイン
apm install linter linter-eslint apm install prettier-atom apm install linter-php
コーディング規約チェック
apm install linter-phpcs composer global require "squizlabs/php_codesniffer=*" echo 'export PATH=$HOME/.composer/vendor/bin:$PATH' >> .bash_profile source .bash_profile phpcs --version PHP_CodeSniffer version 2.8.1 (stable) by Squiz (http://www.squiz.net)
構文エラーチェック
apm install linter-phpmd composer global require phpmd/phpmd echo 'export PATH=$HOME/.composer/vendor/bin:$PATH' >> .bash_profile source .bash_profile phpmd --version PHPMD 2.6.0
CakePHP用補完
apm install cakephp3-snippets
所感
しばらく使ってみて、ゆるいルールでいくならば、
- php-cs-fixer
- linter-phpmd
- linter-phpcs
は無効にしてもいいかもしれない。
整形はatom-beautifyで
PHP-CS-Fixer
ではなく
PHPCBF
にしておくとよさそうな気がする。
CakePHPのデフォルトのフォーマットも書き換えてしまっているのが気にはなるが・・・。
参考
http://tech.innovator.jp.net/entry/2016/11/16/121345
http://qiita.com/hachijirou/items/ea00005ff4910f89d6bf
https://kore1server.com/334/Laravel%E3%81%A7CS+Fixer%E3%82%92%E4%BD%BF%E3%81%86
http://gorogoroyasu.hatenablog.com/entry/advent-calendar-2016-day2-atom-cakephp3