Generator konfiguracji PHPStan
Gotowy phpstan.neon: poziom analizy, ścieżki i rozszerzenia
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator konfiguracji PHPStan
Generator PHPStan tworzy gotowy plik phpstan.neon dla projektu PHP. Wybierasz poziom analizy, ścieżki do sprawdzenia i rozszerzenia, a narzędzie składa poprawny format NEON.
Poziomy analizy PHPStan
PHPStan ma dziesięć poziomów (0-9) rosnącej surowości. Poziom 0 sprawdza nieznan klasy i funkcje, wyższe wymagają pełnych typów, a 9 jest restrykcyjny jak narzędzia dedykowane typom. Zalecana droga: zacznij od poziomu, na którym projekt przechodzi, i podnos go stopniowo.
| Poziom | Co sprawdza |
|---|---|
| 0-2 | nieznane klasy, sygnatury metod, liczba argumentów |
| 3-5 | zwracane typy, typy w pętlach i warunkach |
| 6-8 | null-safety, typy właściwości, brakujące typy w phpdoc |
| 9 | ścisłe typy mieszane — dla projektów w pełni typowanych |
Rozszerzenia oficjalne
Rozszerzenie phpstan-strict-rules dodaje reguły dyscypliny typów (np. zakaz używania typu mixed bez potrzeby), a deprecation-rules wykrywa wywołania przestarzałych klas i metod. Generator dopisuje wymagane sekcje includes oraz listę pakietów composer do instalacji.
Najczęstsze pytania
Jaki poziom PHPStan wybrać na start?
Dla legacy projektu często startuje się z poziomu 0-2 i podnosi co kilka tygodni. Zielony poziom w CI jest ważniejszy niż ambitny poziom z tysiącem błędów.
Czy PHPStan analizuje Laravel?
Podstawowo tak, a larastan (phpstan-laravel) dodaje rozpoznawanie fasad i Eloquent. Config z generatora jest kompatybilny — wystarczy dodać rozszerzenie do includes.
Jak pominąć wybrane błędy?
W sekcji parameters dodaj ignoreErrors z patternami komunikatów. Lepiej jednak ignorować punktowo, a nie wyłączać całe reguły.