Historia PHP jest niesamowita. Ewoluował on od dużych trudności w przeszłości do obecnej szybkiej i sprawnej wersji. Nie trzeba namawiać nikogo do jego używania czy nauki. Jest to jeden z najpopularniejszych języków działających po stronie serwera. Wystarczy popatrzeć na to, iż około 34.1% internetu to CMS WordPress, który zasilany jest przez PHP, a to tylko część tego, gdzie wykorzystywany jest ten język.

PHP 7 

php 7.0

Wydajność

Przeskok z PHP 5 na 7 był ogromnym krokiem w jego rozwoju. Dla tych, którzy szukają wersji 6: wersja 5 zawierała zmiany, które planowano dodać dopiero w szóstce, dlatego też przeskoczono od razu do wersji siódmej. Jakie zmiany zaszły? Nowy interpretowany skryptowy język programowania zyskał na szybkości. Jego optymalizacja przyczyniła się do tego, że w tej wersji jest szybszy – w niektórych przypadkach nawet dwukrotnie! Zmniejszyło to zatem znacznie koszta utrzymania danych aplikacji. Porównanie wydajności: PHP 7 kontra PHP 5.4.

Co usunięto w PHP 7?

  • funkcji ereg_* i zastąpiono ją: preg_*
  • funkcji mysql_* i zastąpiono ją: mysqli_*
  • funkcji split()
  • wielokrotnego użycia wariantu domyślnego w wyrażeniu „switch”
  • <% // php code %>

Jakie nowości?

  • operator ?? (sprawdza, czy wartość jest „NULL”)
  • operator <=>
  • anonimowe klasy
  • tablice, które mogą być stałymi
  • ujednolicono składnie zmiennych

PHP 7.1

php 7.1

Wydajność

Kolejna odsłona języka programistycznego przyniosła powiew kolejnych nowości. Znowu jest szybciej. Przeskok nie jest tak kosmiczny, jak między PHP 5.4 a 7 – tutaj mamy do czynienia z zyskiem rzędu 6-7% gdzie porównanie było wykonane przy użyciu frameworka „Sympfony”. Źródło informacji.

Co usunięto?

  • ext/mcrypt
  • opcji eval dla mb_ereg_replace() i mb_eregi_replace()

Jakie nowości?

  • nullable types
  • void functions
  • iterable pseudo-type
  • widoczność stałych w klasie
  • iterable pseudo-type

PHP 7.2

php 7.2

Wydajność

Między wersjami 7.1 a 7.2 mamy podobny przeskok wydajności jak między 7 a 7.1 – w granicach 10%. Widać, iż pod tym kątem rozwój tego języka idzie w dobrym kierunku. Porównanie PHP 7.1 kontra 7.2 (Docker i Symfony).

Co usunięto?

  • each()
  • assert()
  • $errcontext
  • create_function()
  • mbstring.func_overload
  • (unset) cast
  • gmp_random()
  • __autoload
  • $php_errormsg

Jakie nowości?

  • bibliotekę Sodium
  • argon2 (hashowanie haseł)
  • deklaracje typu wywołanego obiektu
  • ulepszone deklaracje typu argumentu
  • sposobność rozszerzenia wybranej klasy bez przymusu aktualizacji wszystkich podklas

PHP 7.3

php 7.3

Wydajność

Najnowsza wersja tak jak i każda wcześniejsza to: usprawnienia, dodatki, zmiany czy pozbycie się bugów. Oczywiście nie obyło się tutaj bez wpływu na prędkość. Jest lepiej, według danych, które można znaleźć tutaj – dzięki przejściu z PHP 7.2 na 7.3 zyskamy około 10% szybkości. Jeśli zaczniemy korzystać z wersji 7.3, będziemy na najnowszej, aktualnej wersji tego języka. Da nam to największy wachlarz możliwości dostępny na tę chwilę. Bycie na bieżąco z PHP jest szczególnie ważne dla jego programistów.

Co usunięto?

  • image2wbmp()
  • trzeciego parametru (true/false) funkcji define()
  • FILTER_FLAG_SCHEME_REQUIRED oraz FILTER_FLAG_HOST_REQUIR dla funkcji filter_var($var, FILTER_VALIDATE_URL)

Jakie nowości?

  • Błędy json_encode i jcon_decode
  • is_countable()
  • array_key_last() oraz array_key_first()

Ewolucja PHP – od wersji 5.4 do 7.3

Jeśli chodzi o zmianę w wydajności, ogromny przeskok można zaobserwować podczas przejścia z PHP 5.4 na 7. Praktycznie dwukrotna szybkość np. na CMS WordPress jest czymś naprawdę znaczącym. Później każda wersja, czyli kolejno 7.1, 7.2 oraz 7.3 zwiększała swoją szybkość w porównaniu do poprzedniczki. Nie był to spory zysk, aczkolwiek jeśli porównamy przeskok całościowy między PHP 7 a obecną wersją, czyli 7.3 to widzimy już tutaj znaczny wzrost wydajności. Nie mówiąc o zestawieniu obecnie 7.3 i 5.4, które na tę chwilę dzieli przepaść.

Każda wersja przyniosła coś nowego: optymalizacje, nowe funkcje i wiele innych. Gdyby ktoś po lekturze tekstu poczuł niedosyt, to całą listę zmian między wersjami PHP można znaleźć po angielsku tutaj.

Autor