Autor wpisu: matipl, dodany: 08.01.2019 13:20, tagi: php, oop
Od miesiąca możemy cieszyć się PHP w wersji 7.3, który jest kolejnym krokiem ewolucji jaka zachodzi w tym popularnym języku. Obecne zmiany to dopracowywanie prostszego sposobu tworzenia aplikacji, jak również dopracowywanie samego silnika.
WordPress 5.0 benchmark
Dzięki tym zmianom PHP wciąż przyspiesza. To prawda, że to głównie zasługa coraz lepszego opcache, ale jednak jest to część silnika. WordPress nie jest dobrym przykładem jak powinno się pisać kod, ale jest dobrym przykładem na wzrost wydajności PHP na przestrzeni lat:
- PHP 5.6: 91.64 req/sec
- PHP 7.0: 206.71 req/sec
- PHP 7.1: 210.98 req/sec
- PHP 7.2: 229.18 req/sec
- PHP 7.3: 253.20 req/sec
PHP 7.3
PHP 7.3 przyniósł bardzo wiele przydatnych funkcji, które zostały przegłosowane przez społeczność w ramach zgłaszanych RFC. W nowej wersji możemy teraz zostawiać nie tylko przecinek po ostatnim elemencie w tablicy, ale również w wywołaniu metody:
$newArray = array_merge( $arrayOne, $arrayTwo, ['foo', 'bar'], );
Kolejne wbudowane funkcje zostały wsparte o wyjątki. Tym razem wyjątki zostały wprowadzone do wywołań json_encode() i json_decode(). Oczywiście zgodność wsteczna jest ważna w PHP, dlatego aby został rzucony wyjątek należy dodać parametr JSON_THROW_ON_ERROR:
try { $decoded = json_decode("{ 'invalid' : 'json' }", false, 512, JSON_THROW_ON_ERROR); } catch (\JsonException $e) { echo $e->getCode(); // 4 echo $e->getMessage(); // Syntax error }
Poza tym pojawiły się…. nowe fukncje. Na przykład is_countable(), która sprawdzi czy rzecz jest policzalna (count() od PHP 7.2 rzuca Warning, gdy jest wykonywane na czymś co jest niepoliczalne). Dodano również monotoniczny timer wysokiej rozdzielczości (hrtime()), który nie ma jeszcze dokumentacji na php.net, ale jest następcą polecenia microtime(), ale jest niezależny od zmiany czasu systemowego.
I na koniec, przypominam, że obecnie wspierane wersje PHP zaczynają się od wersji 7.1. Wersja 7.0 oraz 5.6 nie posiada już żadnego wsparcie, nawet łatek bezpieczeństwa.
PHP 7.4 – Typowanie 2.0
Jednym z większych przełomów jakie przyniósł PHP 7 (2015) jest możliwość deklaracji typów. Tego czego wciąż brakuje, to możliwość ustalenia typu właściwości klasy już na etapie jej opisywania, a nie tworzenia metod. PHP 7.4, który pojawi się pod koniec 2019 roku rozwiąże ten problem.
class User { public int $id; public string $name; public function __construct(int $id, string $name) { $this->id = $id; $this->name = $name; } }
Po wprowadzeniu Typed Properties 2.0, komentarze w PHP znów będą służyły do komentowania kodu, a nie uzupełniały braki języka poprzez @param, @return itp. Pozostaje czekać.
Artykuł PHP 7.3 na pokładzie, przed nami PHP 7.4 pochodzi z serwisu Mateusz matipl Kamiński.