[Pythonでも型チェックが捗る]と噂をきいたのでPHPの環境構築について書きます。ちょっと眠いので簡潔に… もしわからないことがあったら回答するのでコメントで聞いて1。
得られる利益
そんな問題に編集中に気付けるよ。
画面はVimだけど、ほかのエディタでもいいよ。
事前準備
- PHP 7.1+
- macOSなら
brew install php
とかでもいいです (システムに最初から入ってる/usr/bin/php
は不可)
- macOSなら
- Composer
- https://getcomposer.org/download/ とか読んで適当に入れて。
-
COMPOSER_HOME
にPATH
を通す-
PATH=$HOME/.composer/vendor/bin:$PATH
みたいな行をシェルの設定ファイル(~/.bashrc
とか)に書く
-
PHPStanのインストール
composer global require phpstan/phpstan
- 既にPsySHなどのPHP-Parserを使ったパッケージがインストール済で
nikic/php-parser:3.1.5
などが残存してる場合はインストールに失敗しやすいので注意 -
composer global remove psy/psysh nikic/php-parser
などで一旦外すとスムーズ- そのあとで
composer global require psy/psysh
のように入れ直す
- そのあとで
追記: phpstan-shimは非推奨
PHPStan 0.12.0以降、phpstan/phpstan-shim
は更新されなくなるので、この方法でインストールしていた場合は composer global remove phpstan/phpstan-shim; composer global require phpstan/phpstan
を実行してください。
プロジェクトの設定
Composerがベースのプロジェクトの場合は、こういうファイルを用意します。
parameters:
level: 3
bootstrap: %rootDir%/vendor/autoload.php
詳しくは@HirakuさんのPHPStanで始めるPHPのための静的解析とかを読んでください。
エディタの設定
Vim
ALEで一発です。
Emacs
flycheck-phpstanパッケージを入れてinit.el
とかに設定を書いてください。
(defun my-php-mode-hook ()
"My PHP-mode hook."
(require 'flycheck-phpstan)
(flycheck-mode t)
(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の記事を書くモチベーションになります。
脚注
[Pythonでも型チェックが捗る]: https://qiita.com/shibukawa/items/1650724daf117fad6ccd)
-
こう書いて実際に質問を受けた経験はあまりないのですが、わからないことやトラブルがあったら記事のコメントでもTwitterのDMでもSlackでもいいので質問してね ↩