Pythonでも型チェックが捗ると噂をきいたのでPHPの環境構築について書きます。ちょっと眠いので簡潔に… もしわからないことがあったら回答するのでコメントで聞いて1。
得られる利益
そんな問題に編集中に気付けるよ。
画面はVimだけど、ほかのエディタでもいいよ。
事前準備
- PHP 7.1+
- macOSなら
brew install php
とかでもいいです (システムに最初から入ってる/usr/bin/python
は不可)
- macOSなら
- Composer
- https://getcomposer.org/download/とか読んで適当に入れて。
COMPOSER_HOME
にPATH
を通すPATH=$HOME/.composer/vendor/bin:$PATH
みたいな行をシェルの設定ファイル(~/.bashrc
とか)に書く
PHPStanのインストール
composer global require phpstan/phpstan-shim
- 既にPsySHなどのPHP-Parserを使ったパッケージがインストール済で
nikic/php-parser:3.1.5
などが残存してる場合はインストールに失敗しやすいので注意 composer global remove psy/psysh nikic/php-parser
などで一旦外すとスムーズ- そのあとで
composer global require psy/psysh
のように入れ直す
- そのあとで
プロジェクトの設定
Composerがベースのプロジェクトの場合は、こういうファイルを用意します。
phpstan.neon.dist
parameters:level:3bootstrap:%rootDir%/vendor/autoload.php
詳しくは@HirakuさんのPHPStanで始めるPHPのための静的解析とかを読んでください。
エディタの設定
Vim
ALEで一発です。
Emacs
flycheck-phpstanパッケージを入れてinit.el
とかに設定を書いてください。
init.el
(defunmy-php-mode-hook()"My PHP-mode hook."(require'flycheck-phpstan)(flycheck-modet)(flycheck-select-checker'phpstan))(add-hook'php-mode-hook'my-php-mode-hook)
Visual Studio Code
私は使ったことはないですがvscode-phpstanってやつがあるらしいです。 (未検証)
まとめ
PHPStanの力があれば、ハイエンドなエディタなら割と簡単にIDE(なんとかストーム)に近い領域までいけるぞ。
この記事は手抜きですが、この記事を書いた人間の睡眠不足に報いるつもりのある型は https://www.pixiv.net/fanbox/creator/105589を購読するEmacsやPHPの記事を書くモチベーションになります。
脚注
こう書いて実際に質問を受けた経験はあまりないのですが、わからないことやトラブルがあったら記事のコメントでもTwitterのDMでもSlackでもいいので質問してね ↩