Już 13 grudnia 2018r. uruchomiana zostanie wersja produkcyjna php 7.3. Warto zobaczyć jakie zmiany niesie za sobą nowy php.
Nadchodzące zmiany w php 7.3:
- Elastyczna składnia HEREDOC / NOWDOC
- Przecinek po ostatnim argumencie w wywołaniach funkcji / metod
- Wsparcie referencji w list()
- json_encode() i json_decode() – rzucanie wyjątków
- Nowa funkcja is_countable()
- Nowe funkcje array_key/value_first/last()
- Nowa funkcja do haszowania haseł – Argon2id
- Same site cookie
- hrtime() – monotoniczny timer
- Nowa metoda – DateTime::createFromImmutable()
- Nowa funkcja – fpm_get_status()
- Nowe funkcje w GMP
- CompileError – nowy typ błędu
- Aktualizacja PCRE do PCRE2
- MBString – wsparcie pełnego case-mapping i case-folding
- compact() rzuci Notice gdy napotka niezdefiniowaną zmienną
- instanceof – literał jako pierwszy operand – brak Fatal error
- Przeprojektowane narzędzie ext_skel
- Wyjątki nie wypełnią stanu error_get_last()
- TypeError zgłosi błędne typy jako int oraz bool
- Instrukcja continue rzuci Warning wewnątrz switch
- ArrayAccess nie zrzutuje $offset typu string na int
- Naprawiono referencje w statycznych własnościach klas
- Naprawiono odpakowywanie argumentów z kluczami nie int
- BCMath użyje obsługi błędów PHP
- Wsparcie dla BeOS porzucono
- Deprecated – image2wbmp()
- Deprecated – Stałe case-insensitive
- Deprecated – funkcje mb* bez dokumentacji
- Deprecated – funkcje szukania w string z argumentem nie string
- Deprecated – fgetss() oraz filter string.strip_tags
- Deprecated – definiowanie własnej funkcji assert()
- Deprecated – FILTER_FLAG_SCHEME_REQUIRED oraz FILTER_FLAG_HOST_REQUIRED
- Deprecated – pdo_odbc.db2_instance_name dyrektywa php.ini
PHP stał się zdecydowanie bardziej przyjazny od wersji 7 chociaż pewnie jeszcze długo będzie obiektem drwin 🙂