W tej pierwszej kompilacji EAP dla PhpStorm 2022.2 można zapoznać się z nowymi funkcjami związanymi z typami generycznymi, obsługą Rector i szeregiem popraw jakości pracy.
Wsparcie Rector
Rector pomaga w automatycznych aktualizacjach PHP i refaktoryzacji kodu. Od teraz posiada również wbudowane wsparcie w PhpStorm.
Przed skorzystaniem z obsługi Rectora w PhpStorm, w pierwszej kolejności należy Rectora zainstalować i go skonfigurować. Następnie należy utworzyć nową konfigurację uruchomienia specjalnie dla Rectora. PhpStorm może to zrobić automatycznie: wystarczy kliknąć prawym przyciskiem myszy folder, który Rector ma naprawić, i wybrać Uruchom | Rektor.
PhpStorm poda wtedy listę plików które Rector zmieni. Następnie można przejrzeć zmiany w PhpStorm, wybrać poszczególne pliki i foldery, a na koniec zastosować wszystkie wybrane zmiany.
Ponieważ Rector jest konfiguracją uruchomioną, istnieje również możliwość jej skonfigurowania. Można przejść do Uruchom | Edytuj konfiguracje lub wybrać Edytuj konfiguracje z menu czynności wyszukiwania.
Typy generyczne
Int
Typ Int jest teraz obsługiwany.
Ogólne wsparcie dla iterowalnych
PhpStorm będzie teraz mógł również wywnioskować typy podczas wykonywania pętli na obiektach iterowalnych.
Wywnioskować typy z zamknięć
PhpStorm jest teraz w stanie określić typ z wartości zwracanych przez zamknięcie. Ta funkcja jest często używana, na przykład w plikach Laravela, gdzie zamknięcie jest przekazywane do funkcji kolekcji, takiej jak map lub first.
Generyki w cechach
Można teraz używać generyków w połączeniu z cechami, używając adnotacji @use.
Obsługa omijania typów ogólnych
PhpStorm teraz lepiej obsługuje metody takie jak Collection::lazy(), gdzie typy generyczne są umieszczane w innym obiekcie.
I sporo więcej funkcji:
- Ulepszona obsługa zagnieżdżonych generyków.
- Odwracanie typów ogólnych.
- Obsługa generyków w iteratorach: Iterator działa teraz zgodnie z oczekiwaniami.
- @extends \SplFixedArray teraz działa poprawnie.
- Ulepszone wnioskowanie o typie ogólnym.