PHPSTANへのEMACSインターフェースには、FlyCheckのチェッカーが含まれています。
Mx package-install flycheck-phpstan( defun my-php-mode-setup ()
" My PHP-mode hook. "
( require 'flycheck-phpstan )
(flycheck-mode t ))
( add-hook 'php-mode-hook 'my-php-mode-setup )( add-hook 'php-mode-hook # 'flymake-phpstan-turn-on )Dockerとphpstan/phpstan画像をインストールします。
常にdockerをphpstanに使用する場合は、 .emacsファイル(~~/.emacs.d/init.el〜)に以下を追加します。
( setq-default phpstan-executable 'docker )プロジェクトのルートディレクトリ上の.dir-locals.elファイルに以下を入れます。
(( nil . ((php-project-root . git)
(phpstan-executable . docker)
(phpstan-working-dir . (root . " path/to/dir " ))
(phpstan-config-file . (root . " path/to/dir/phpstan-docker.neon " ))
(phpstan-memory-limit . " 1G " )
(phpstan-level . 7 ))))プロジェクトの作曲家がPHPSTANに依存している場合、何も設定する必要はありません。
(( nil . ((php-project-root . git)
(phpstan-executable . docker)
(phpstan-working-dir . (root . " path/to/dir " ))
(phpstan-config-file . (root . " path/to/dir/phpstan-docker.neon " ))
(phpstan-level . 7 ))))Composerを使用して、ユーザー環境またはプロジェクトごとにPHPSTAN/PHPSTANパッケージをインストールしてください。
依存関係の解決に慣れていない場合は、次のシェルコマンドが推奨されます。
$ composer global require phpstan/phpstan通知:phpstan/phpstan-shimは非推奨です。リリースされたphpstan 0.12をお読みください!
通知: phpstan.elにはphpstan ** 0.10+**が必要です。最新のPHPSTANを使用することを強くお勧めします。
リリースからphpstan.phar /phpstanをダウンロードしてください。
phpstanの変数は、主にディレクトリ変数( .dir-locals.el )によって制御されます。
頻繁に(root. "path/to/file")これらの変数に表記が表示されます。これは、プロジェクトのトップレベルのディレクトリに関連しています。一般に、 .projectile 、 composer.json 、 .gitファイル(またはディレクトリ)のいずれかを含むディレクトリは、トップレベルにあります。
PHPプロジェクトのルートディレクトリは、PHPSTANの%rootDir%および/または%currentWorkingDirectory%のいずれかと一致しない場合があることに注意してください。
通常、次の.dir-locals.elを設定します。
(( nil . ((php-project-root . auto)
(phpstan-executable . docker)
(phpstan-working-dir . (root . " path/to/dir/ " ))
(phpstan-config-file . (root . " path/to/dir/phpstan-custom.neon " ))
(phpstan-level . max ))))プロジェクトのルートディレクトリにphpstan.neonファイルがある場合、 phpstan-working-dirとphpstan-config-file両方を設定する必要はありません。
このパッケージは、EMACSのphpstanを使用するための便利なコマンドを提供します。
phpstan-insert-dumptype add PHPStandumpType(...); PHPコードに合わせて分析して、PHPSTANに式のタイプを表示します。
(define-key php-mode-map(kbd "cc ^")# 'phpstan-insert-dumptype)
デフォルトでは、コマンドを呼び出す前にCuを押すと、 PHPStandumpPhpDocType()挿入されます。
この機能はPHPSTAN 1.12.7に追加され、 @paramと@return PHPDOCタグと互換性のあるタイプをダンプします。
phpstan-insert-ignore @phpstan-ignoreタグを挿入して、現在の行のphpstanエラーを抑制します。
デフォルトでは、前の行にタグを挿入しますが、現在の行の最後にタグが既にある場合、または前の行にタグが既にある場合、識別子はそこに追加されます。
既存のタグがなく、コマンドの前にCuが押された場合、行の端に挿入されます。
このパッケージで定義されているほとんどの変数は、バッファーローカルです。複数のプロジェクトに設定する場合は、SetQ-Defaultを使用してください。
phpstan-working-dirphpstanの作業ディレクトリへのパス。
"/path/to/phpstan.phar"(root . STRING)(root . "path/to/dir")nil(php-project-get-root-dir)を使用します。phpstan-config-filePHPSTANの特定の構成ファイルをプロジェクトするパス。
phpstan構成ファイルへの絶対パス。(root . STRING)phpstan構成ファイルへの相対パス。(phpstan-get-working-dir)でphpstan.neon(.dist)検索します。phpstan-level phpstan分析のルールレベル。 phpstanのreadme #ruleレベルをご覧ください。 0は最もゆるいものであり、最高レベルのエイリアスとしてmaxを使用することもできます。デフォルトレベルは0です。
phpstan-executable"/path/to/phpstan.phar"docker(root . STRING)(root . "script/phpstan")(STRING . (ARGUMENTS ...))("docker" "run" "--rm" "-v" "/path/to/project-dir/:/app" "your/docker-image")nilPATH環境変数のプロジェクトまたは実行可能コマンドの作曲家依存関係により、 phpstan実行可能ファイルを自動検出します。phpstan-flycheck-auto-set-executable非NILの場合、FlyCheck PHPSTANが自動的に実行可能に設定します。
phpstan-memory-limit非NILの場合、PHPSTANメモリリミットオプションを使用します。
"1G"nilphpstan-docker-image Docker Image URLまたはDocker Hub Image Nameまたはnil。 "ghcr.io/phpstan/phpstan"としてデフォルト。 Docker -PHPSTANドキュメントとGitHubコンテナレジストリー - パッケージPHPSTANを参照してください。