La interfaz EMACS para PHPSTAN incluye Checker para 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 )Instale la imagen Docker y Phpstan/Phpstan.
Si siempre usa Docker para Phpstan, agregue lo siguiente a su archivo .emacs (~~/.emacs.d/init.el ~)
( setq-default phpstan-executable 'docker ) Coloque lo siguiente en archivos .dir-locals.el en el directorio raíz del proyecto.
(( 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 ))))Si su compositor de proyecto se basa en PHPSTAN, no necesita establecer nada.
(( 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 ))))Instale el paquete PHPSTAN/PHPSTAN para cada entorno o proyecto de usuario utilizando el compositor.
Si no está familiarizado con la resolución de dependencias, se recomiendan los siguientes comandos de shell.
$ composer global require phpstan/phpstanAviso : Phpstan/Phpstan-Shim está en desuso. ¡Lea Phpstan 0.12 lanzado!.
Aviso : phpstan.el requiere phpstan ** 0.10+**. Recomendamos encarecidamente usar el último phpstan.
Descargue phpstan.phar de los lanzamientos · phpstan/phpstan.
Las variables para PHPSTAN se controlan principalmente por variables de directorio ( .dir-locals.el ).
Frecuentemente (root. "path/to/file") La notación aparece en estas variables. Es relativo al directorio de nivel superior del proyecto. En general, el directorio que contiene uno de .projectile , composer.json , .git archivo (o directorio) está en el nivel superior.
Tenga en cuenta que el directorio raíz del proyecto PHP puede no coincidir con el %rootDir% y/o %currentWorkingDirectory% .
Por lo general, establecería los siguientes .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 )))) Si hay un archivo phpstan.neon en el directorio raíz del proyecto, no necesita establecer tanto phpstan-working-dir como phpstan-config-file .
Este paquete proporciona comandos convenientes para usar PHPSTAN de EMACS.
phpstan-insert-dumptype Agregar PHPStandumpType(...); a su código PHP y analizarlo para que Phpstan muestre el tipo de expresión.
(Define-Key PHP-Mode-MAP (KBD "CC ^") #'Phpstan-Insert-Suptype)
Por defecto, si presiona Cu antes de invocar el comando, se insertará PHPStandumpPhpDocType() .
Esta característica se agregó en PHPSTAN 1.12.7 y descargará los tipos compatibles con las etiquetas @param y @return phpDoc.
phpstan-insert-ignore Inserte una etiqueta @phpstan-ignore para suprimir cualquier error de phpstan en la línea actual.
Por defecto, inserta la etiqueta en la línea anterior, pero si ya hay una etiqueta al final de la línea actual o en la línea anterior, los identificadores se agregarán allí.
Si no hay etiqueta existente y se presiona Cu antes del comando, se insertará al final de la línea.
La mayoría de las variables definidas en este paquete son buffer locales. Si desea configurarlo para múltiples proyectos, use SETQ-default.
phpstan-working-dirDirectorio de ruta hacia el trabajo de Phpstan.
"/path/to/phpstan.phar"(root . STRING)(root . "path/to/dir")nil(php-project-get-root-dir) como directorio de trabajo.phpstan-config-file localRuta al archivo de configuración específico del proyecto de PHPSTAN.
phpstan .(root . STRING)phpstan desde el directorio de Project Root.phpstan.neon(.dist) en (phpstan-get-working-dir) .phpstan-level Nivel de regla del análisis PHPSTAN. Consulte los niveles de readMe #rule de PHPSTAN. 0 es el más suelto y también puedes usar max como alias para el nivel más alto. El nivel predeterminado es 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 por dependencias del compositor del proyecto o comando ejecutable en la variable de entorno PATH .phpstan-flycheck-auto-set-executableEstablezca FlyCheck Phpstan-Ejecutable automáticamente cuando no sea NIL.
phpstan-memory-limitUse la opción de límite de memoria PHPSTAN cuando no sea NIL.
"1G"nilphpstan-docker-image Docker Image URL o Docker Hub Nombre de imagen o nulo. Predeterminado como "ghcr.io/phpstan/phpstan" . Consulte Docker - Phpstan Documentation y Github Container Registory - Paquete Phpstan.