A interface do EMACS para o Phpstan, inclui verificador 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 a imagem do docker e phpstan/phpstan.
Se você sempre usa o Docker para o Phpstan, adicione o seguinte ao seu arquivo .emacs (~~/.emacs.d/init.el ~)
( setq-default phpstan-executable 'docker ) Coloque o seguinte nos arquivos .dir-locals.el no diretório raiz do projeto.
(( 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 ))))Se o seu projeto compositor depende do Phpstan, você não precisará definir 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 o pacote phpstan/phpstan para cada ambiente ou projeto do usuário usando o Composer.
Se você não estiver familiarizado com a resolução de dependências, os seguintes comandos do shell serão recomendados.
$ composer global require phpstan/phpstanAviso : Phpstan/phpstan-shim está descontinuado. Por favor, leia o Phpstan 0.12 lançado!.
Aviso : phpstan.el requer phpstan ** 0.10+**. Recomendamos fortemente o uso do Phpstan mais recente.
Faça o download phpstan.phar de lançamentos · phpstan/phpstan.
As variáveis para o phpstan são controladas principalmente por variáveis de diretório ( .dir-locals.el ).
Freqüentemente (root. "path/to/file") A notação aparece nessas variáveis. É relativo ao diretório de nível superior do projeto. Em geral, o diretório que contém um do arquivo .projectile , composer.json , .git (ou diretório) está no nível superior.
Esteja ciente de que o diretório raiz do projeto PHP não pode corresponder a um dos %rootDir% e/ou %currentWorkingDirectory% .
Normalmente, você definia os seguintes .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 )))) Se houver um arquivo phpstan.neon no diretório raiz do projeto, você não precisará definir phpstan-working-dir e phpstan-config-file .
Este pacote fornece comandos convenientes para o uso do Phpstan da EMACS.
phpstan-insert-dumptype Adicione PHPStandumpType(...); ao seu código PHP e analisá -lo para fazer com que o Phpstan exiba o tipo de expressão.
(Definir-Key-PHP-Mode-MAP (KBD "CC ^") #'Phpstan-Insert-Dumptype)
Por padrão, se você pressionar Cu antes de invocar o comando, PHPStandumpPhpDocType() será inserido.
Esse recurso foi adicionado nos tipos Phpstan 1.12.7 e despejarão os tipos compatíveis com as tags @param e @return phpdoc.
phpstan-insert-ignore Insira uma tag @phpstan-ignore para suprimir qualquer erro do Phpstan na linha atual.
Por padrão, ele insere a tag na linha anterior, mas se já houver uma tag no final da linha atual ou na linha anterior, os identificadores serão anexados lá.
Se não houver tag existente e Cu for pressionado antes do comando, ela será inserida no final da linha.
A maioria das variáveis definidas neste pacote é o buffer local. Se você deseja configurá-lo para vários projetos, use o setq-default.
phpstan-working-dirCaminho para o diretório de trabalho do Phpstan.
"/path/to/phpstan.phar"(root . STRING)(root . "path/to/dir")nil(php-project-get-root-dir) como diretório de trabalho.phpstan-config-fileCaminho para projetar arquivo de configuração específico do Phpstan.
phpstan .(root . STRING)phpstan do diretório raiz do projeto.phpstan.neon(.dist) em (phpstan-get-working-dir) .phpstan-level Nível de regra da análise do Phpstan. Por favor, consulte os níveis de readme #RULE do Phpstan. 0 é o mais rápido e você também pode usar max como um alias para o nível mais alto. O nível padrão é 0 .
phpstan-executable"/path/to/phpstan.phar"docker símbolo(root . STRING)(root . "script/phpstan")(STRING . (ARGUMENTS ...))("docker" "run" "--rm" "-v" "/path/to/project-dir/:/app" "your/docker-image")nilphpstan por dependências do compositor do projeto ou comando executável na variável do ambiente PATH .phpstan-flycheck-auto-set-executableDefina o FlyCheck Phpstan, executável automaticamente, quando não é NIL.
phpstan-memory-limitUse a opção Limite de memória do Phpstan quando não-NIL.
"1G"nilphpstan-docker-image Docker Image URL ou Nome da imagem do hub do docker ou nulo. Padrão como "ghcr.io/phpstan/phpstan" . Consulte Docker - Documentação do Phpstan e Registório de Container Github - Pacote Phpstan.