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 이미지를 설치하십시오.
Phpstan에 항상 Docker를 사용하는 경우 .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 Releasion을 읽으십시오!.
통지 : phpstan.el phpstan ** 0.10+**가 필요합니다. 최신 Phpstan을 사용하는 것이 좋습니다 .
릴리스에서 phpstan.phar 다운로드하십시오 · Phpstan/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 모두 설정할 필요가 없습니다.
이 패키지는 EMAC에서 Phpstan을 사용하기위한 편리한 명령을 제공합니다.
phpstan-insert-dumptype 추가 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-executableNon-NIL 일 때 FlyCheck PHPSTAN-EXECUTABLE를 자동으로 설정하십시오.
phpstan-memory-limitnon-nil 일 때 phpstan 메모리 제한 옵션을 사용하십시오.
"1G"nilphpstan-docker-image Docker Image URL 또는 Docker Hub 이미지 이름 또는 nil. "ghcr.io/phpstan/phpstan" 으로 기본값. Docker -Phpstan 문서 및 Github 컨테이너 Registory -Package Phpstan을 참조하십시오.