W poprzednim wpisie przedstawiłem listę nowości w PHP7. W tym skupie się na takich rzeczach jak obsługa wyjątków, deklaracji typu zwracanej wartości oraz zarezerwowanym typom.
Obsługa wyjątków
W PHP7 wszystkie wyjątki implementują interfejs o nazwie \Throwable. Interfejs ten jest implementowany w dwóch głównych klasach(rodzinach klas) obsługujących wyjątki oraz błędy. Struktura wygląda tak jak poniżej:
interface Throwable Exception implements Throwable Error implements Throwable TypeError extends Error ParseError extends Error
Klasa Exception reprezentuje wyjątki, z którymi dotychczas mieliśmy do czynienia w PHP, natomiast klasa Error reprezentuje błędy, czyli np błędy wykonania, typowania, parsowania. Dzięki temu możemy odpowiednio zaregować na błędy bez konieczności implementowania własnego mechanizmu rzucania wyjątków przez funkcje set_error_handler().
Więcej na temat nowej obsługi błędów możesz przeczytać na https://wiki.php.net/rfc/engine_exceptions_for_php7
Typy zwracanej wartości
W PHP 7 możemy ustawić by w trybie strict PHP sprawdzało czy wartość zwracana przez funkcje/metodę jest tym czego oczekujemy. Przykład
<?php function letMeReturnInt() :int { return 1.23; } function letMeReturnArray() : array { return []; } Po uruchomieniu pierwszej funkcji w trybie strict dostaniemy TypeError ponieważ zadeklarowaliśmy, iż funkcja zwróci typ INT, natomiast zwracany jest FLOAT. W drugim wszystko będzie OK ponieważ zwracamy tablicę, a typ zwracanej wartości przez funkcję też jest zadeklarowany jako tablica. Dzięki typom zwracanej wartości, możemy mieć większą kontrolę nad aplikacją, a kod jest bardziej przewidywalny i zdatny do testów. Więcej o typach zwracanej wartości możecie przeczytać <a href="https://wiki.php.net/rfc/return_types">pod tym linkiem.</a>
Nowe zarezerwowane typy.
W PHP7 pojawiają się nowe typy danych, które są zarezerwowane. Oznacza to, że nie możesz nazywać klas, interfejsów, traitów, tymi słowami. Te nowe typy to: Int, Float, Bool, String, True, False, Null. Jest to zmiana, która może spodować, iż w aplikacjach, które zostaną uruchomione na PHP7 pojawią się błędy.
PHP ewoluje i warto śledzić te zmiany. Pamiętaj, że można już pobrać i skompilować sobie php w wersji 7. Jeśli chcesz to zrobić i zacząć zabawę w nowym PHP wejdź w ten link. Mam nadzieję, że przybliżyłem Ci wszystkie ciekawostki i nowości w nowym PHP.
Zostaw komentarz