Die EMACS -Schnittstelle zu Phpstan enthält Checker für 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 )Installieren Sie Docker und Phpstan/Phpstan Image.
Wenn Sie Docker immer für Phpstan verwenden, fügen Sie Folgendes in Ihre .emacs -Datei hinzu (~~/.emacs.d/init.el ~).
( setq-default phpstan-executable 'docker ) Fügen Sie Folgendes in .dir-locals.el -Dateien auf das Stammverzeichnis des Projekts ein.
(( 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 ))))Wenn Ihr Projektkomponist auf Phpstan angewiesen ist, müssen Sie nichts festlegen.
(( 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 ))))Bitte installieren Sie das PHPSTAN/PHPSTAN -Paket für jede Benutzerumgebung oder für jede Benutzerumgebung oder projiziert mithilfe von Composer.
Wenn Sie mit Abhängigkeiten auflösen, werden die folgenden Shell -Befehle empfohlen.
$ composer global require phpstan/phpstanHinweis : Phpstan/phpstan-shim ist veraltet. Bitte lesen Sie Phpstan 0.12 Veröffentlicht!.
HINWEIS : phpstan.el erfordert Phpstan ** 0.10+**. Wir empfehlen dringend, den neuesten Phpstan zu verwenden.
Bitte laden Sie phpstan.phar aus releases · phpstan/phpstan herunter.
Variablen für Phpstan werden hauptsächlich durch Verzeichnisvariablen ( .dir-locals.el ) gesteuert.
In diesen Variablen wird häufig (root. "path/to/file") Notation angezeigt. Es ist relativ zum Top -Level -Verzeichnis des Projekts. Im Allgemeinen befindet sich das Verzeichnis, das eine von .projectile , composer.json , .git -Datei (oder Verzeichnis) enthält, auf der oberen Ebene.
Bitte beachten Sie, dass das Root -Verzeichnis des PHP -Projekts möglicherweise nicht mit %rootDir% und/oder %currentWorkingDirectory% übereinstimmt.
Normalerweise setzen Sie die folgenden .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 )))) Wenn es im Stammverzeichnis des Projekts eine phpstan.neon Datei gibt, müssen Sie nicht sowohl phpstan-working-dir als auch phpstan-config-file festlegen.
Dieses Paket bietet praktische Befehle für die Verwendung von Phpstan von EMACs.
phpstan-insert-dumptype Fügen Sie PHPStandumpType(...); In Ihrem PHP -Code und analysieren Sie ihn, um Phpstan den Typ des Ausdrucks anzuzeigen.
(DEFINE-KEY PHP-Mode-Map (KBD "CC ^") #'PHPSTAN-INSERT-DUMPTYPE)
Wenn Sie vor dem Aufrufen des Befehls Cu drücken, wird PHPStandumpPhpDocType() eingefügt.
Diese Funktion wurde in Phpstan 1.12.7 hinzugefügt und entpackt Typen, die mit den @param und @return -Phpdoc -Tags kompatibel sind.
phpstan-insert-ignore Fügen Sie ein @phpstan-ignore Tag ein, um alle Phpstan-Fehler in der aktuellen Zeile zu unterdrücken.
Standardmäßig wird das Tag in der vorherigen Zeile eingefügt. Wenn jedoch bereits am Ende der aktuellen Zeile oder in der vorherigen Zeile ein Tag vorhanden ist, werden die Kennungen dort angehängt.
Wenn vor dem Befehl kein vorhandenes Tag vorhanden ist und Cu gedrückt wird, wird es am Ende der Linie eingefügt.
Die meisten in diesem Paket definierten Variablen sind Puffer lokal. Wenn Sie es für mehrere Projekte festlegen möchten, verwenden Sie SetQ-Default.
phpstan-working-dirWeg zum Arbeitsverzeichnis von Phpstan.
"/path/to/phpstan.phar"(root . STRING)(root . "path/to/dir")nil(php-project-get-root-dir) als Arbeitsverzeichnis.phpstan-config-filePfad zur projektspezifischen Konfigurationsdatei von Phpstan.
phpstan -Konfigurationsdatei.(root . STRING)phpstan -Konfigurationsdatei aus dem Projektstammverzeichnis.phpstan.neon(.dist) in (phpstan-get-working-dir) .phpstan-level Regelniveau der Phpstan -Analyse. Siehe Readme #Rule Levels von Phpstan. 0 ist der lockerste und Sie können max auch als Alias für die höchste Ebene verwenden. Die Standardebene beträgt 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")nilphpstan -ausführbare Datei nach Komponistenabhängigkeiten des Projekts oder ausführbaren Befehls in PATH erkennen.phpstan-flycheck-auto-set-executableStellen Sie Flycheck Phpstan-Executable automatisch ein, wenn nicht nil.
phpstan-memory-limitVerwenden Sie die Option PHPSTAN-Speicherbegrenzung bei Nicht-NIL.
"1G"nilphpstan-docker-image Docker Image URL oder Docker Hub Bildname oder Nil. Standard als "ghcr.io/phpstan/phpstan" . Siehe Docker - Phpstan Dokumentation und GitHub Container Regale - Paket Phpstan.