Lista nowości w PHP 7.0 i 7.1:
- Silne typowanie sprawia że kończy się problem z zgadywaniem, jaki typ parametru został przekazany do funkcji. Jakiego typu jest dana zmienna w metodzie. Z drugiej strony silne typowanie w PHP nie zawiera podawania typu zmiennej przy jej deklaracji.
- Klasy anonimowe są odpowiednikiem funkcji anonimowych dostępnych w PHP 5.
- Generatory można traktować tak jak tablicę w pętli foreach. Jak to w praktyce przdaje się?
- Operator porównania null. Operator ten to ??, a przykład jego wykorzystania to np: $x ?? ‚empty’; Przykład ten zwróci wartość z $x jeśli $x istnieje i nie jest nulem. Natomiast $x nie istnieje lub jest nullem, to zostanie zwrócona wartość po operatorze, czyli w tym przypadku ‚empty’;
- Spaceship operator <=>. Np. expr1 <=> expr2. Zwraca kolejno 1, 0, -1 w zależności od tego czy expr1 jest większy, expr1 i expr2 są takie same, jeśli expr2 jest większy.
- Tablice statyczne. Np. const [1,2,3]
- Ujednolicenie składni zmiennych o dynamicznych nazwach. Chodzi tutaj o przypadki typu $$foo[‚baz’]
- Throwable – wyłapywanie błędów z typami danych. Uwaga nie dotyczy to błędów składni!
- Grupowanie deklaracji Use.
- Zwracanie wiele wyjątków w jednym bloku catch.
- Modyfikatory widoczności dla stałych. Chodzi tutaj o public, private i protected które w PHP 5 są dostepne dla metod i atrybutów funkcji. W PHP 7.1 są one również dostępne dla stałych (const).
- Pseudo typ Iterable.
- Typ nullable. Pozwala na określanie zmiennej jako null lub określony inny typ. Np. ?string określa że typ tekstowy lub null. Natomiast nie może być podana pusta wartość.
- Typ void. Typ ten odpowiada pustej wartości. Wartość ta również nie jest null-em. Np zwracając return; w funkcji.