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
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
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
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
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.