PhpStorm 2022.2 EAP


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.