PHPStan 1.7.15 wprowadza małą, ale pomocną funkcję: obsługę względnych ścieżek w editorUrl dla zwirtualizowanych środowisk. Jeszcze lepiej, gdy czyni cię to współautorem repozytorium — tak, to moja inicjatywa! 🥹

Z PHPStan pracuje się świetnie, gdy używasz konfiguracji editorUrl. Dodaje ona klikalny link w CLI, który otwiera raportowany plik w określonej linii. Poprawia to produktywność, ponieważ potrzebujesz mniej czasu, aby przesakiwać między raportem analizy, a kodem. Oczywiście, możesz skonfigurować swoje IDE, by analizowało kod w czasie rzeczywistym, ale to zupełnie inna historia… może następnym razem 😉

W każdym razie posiadanie editorUrl jest super, ale aż do 1.7.15 nie było pomocne przy uruchamianiu analizy PHPStan w środowisku zwirtualizowanym, takim jak Docker czy Vagrant. Dzieje się tak dlatego, że ścieżki lokalne zazwyczaj różnią się od ścieżek w kontenerze / maszynie wirtualnej — klikalny link będzie miał złą ścieżkę i IDE nie otworzy go poprawnie. Nie było również możliwe określenie rzeczywistych ścieżek, ponieważ PHPStan w kontenerze nie posiada informacji o systemie plikówmd hosta.

We wspomnianej wersji dodano wsparcie dla relFile, więc można skonfigurować PHPStan w następujący sposób:

# phpstan.neon
includes:
	- phpstan.neon.dist

parameters:
	editorUrl: 'phpstorm://open?file=/your/local/path/%%relFile%%&line=%%line%%'

Dzięki temu klikalne linki zostaną wygenerowane w oparciu o lokalną ścieżkę do katalogu z projektem, a zatem IDE będzie umiało je otworzyć 🎉.