Długo wyczekiwana wersja PHP 8.0 ujrzała już światło dzienne. Sprawdź, co nowego przygotowali developerzy.
Nowości w tej wersji
Nowa wersja podnosi o "oczko" wyżej główny numer wersji, można się więc spodziewać sporych zmian, szczególnie tych, które wpływają na prędkość wykonywania skryptów - to przekłada się na szybsze generowanie stron. Najważniejsze zmiany to:
- wprowadzenie funkcji JIT (Just In Time) - to chyba najważniejsza zmiana, która ma duży potencjał do zwiększania prędkości wykonywania kodu, ponieważ w dużym uproszczeniu - dzieli kod na bloki, które prekompiluje i trzymając w pamięci - wykorzystuje kiedy będą potrzebne. Ta zmiana powinna przyspieszyć nawet istniejące strony (oparte np. o Wordpress, Magento, czy podobne) bez zmiany ich kodu. A jeżeli developerzy wykorzystają w pełni możliwość JITa - rzeczywiście ta wersja PHP może się okazać dużym przełomem
- union types (typy łączone) - możliwość użycia więcej niż jednego typu zarówno dla danych wejściowych jak i zwracanych
- match() - funkcja pokrewna z funkcją switch(), dzięki której możemy zwrócić interesującą nas wartość na podstawie parametru wejściowego bez używania dodatkowych słów kluczowych (break, return). Używa restrykcyjnego porównania (===) do porównania wartości
- named arguments (argumenty nazwane) - pozwala na przekazywanie argumentów w dowolnej kolejności (bazując na nazwie parametru), a także na pominięcie parametrów opcjonalnych z wartościami domyślnymi
- constructor property promotion - zwiększa czytelność klas przez łatwiejsze przypisywanie wielu argumentów w konstruktorze
- dozwolony przecinek po ostatnim parametrze funkcji
- łapanie wyjątków bez konieczności przypisania do zmiennej
- możliwość użycia metody ::class na obiektach (alternatywa dla metody get_class)
- nowe funkcje do operacji na ciągach znaków: str_contains, str_starts_with, str_ends_with
Więcej informacji na stronie projektu: https://www.php.net/releases/8.0/en.php