Niejednokrotnie programista ma dostęp do setek narzędzi ułatwiających realizację projektów z zakresu programowania na potrzeby sieci internetowej. Takie języki programowania jak HTML, CSS, JavaScript i im podobne niestety często są niewystarczające. Są to języki działające po stronie klienta i umożliwiające podgląd składni z poziomu przeglądarki internetowej. Stąd też brak wśród tych języków odpowiednich mechanizmów zabezpieczających przez hermetyzacją i zaawansowanymi procedurami wymaga od Web Developera poznanie języka PHP działającego po stronie serwera. Są oczywiście inne języki działające po stronie serwera takiej jak na przykład NodeJS, ale PHP jest najbardziej rozbudowanym i popularnym narzędziem dla programistów zapewniającym możliwości wykraczające poza inne tego typu rozwiązania, a nakładki i frameworki na ten język dodatkowo upraszczają poruszanie się w nim i rozszerzają jego możliwości. Warto o tym wspomnieć, szczególnie, że niedawno pojawiło się PHP 7.3!

Język PHP oprócz dotychczas dostępnej funkcjonalności strukturalnej opartej na tworzeniu funkcji i odpowiednich zmiennych obecnie ma możliwości dostępne dla najbardziej zaawansowanych języków pozwalających na programowanie z użyciem obiektowego programowania gdzie klasy, metody i obiekty pozwalają na uporządkowanie kodu i zadbanie o jego prawidłową prezentację w której łatwo się odnaleźć. Ponadto dostępne możliwości które daje model MVC – Model View Controller po zainstalowaniu odpowiednich wtyczek umożliwia kontrolę nad kodem w sposób który jeszcze kilka lat temu był absolutnym novum mało dostępnym w popularnych językach.

Aby możliwości języka PHP były w pełni uzupełnione konieczna jest także odpowiednia konfiguracja Apache lub innego narzędzia zarządzającego częścią serwera odpowiedzialnego za wizualizację wyników pracy programisty z poziomu serwera udostępniając zawartość strony czy aplikacji w sieci internetowej. Konieczne jest także odpowiednie skonfigurowanie bazy SQL z którą PHP ma możliwość łączenia się i wykonywania na niej odpowiednich poleceń co często ułatwia narzędzie phpMyAdmin. Dbając o rozwój i poszerzenie funkcjonalności języka PHP jego twórcy wciąż zaskakują nowymi dodatkami i usprawnieniami pozwalającymi na zwiększenie możliwości tego języka i usunięcie ewentualnych błędów mających na celu zwiększenie bezpieczeństwa po stronie klienta jak i serwera. 

W dzisiejszym artykule sprawdzimy, co nowego w PHP 7.3. Omówimy najważniejsze zmiany i nowości oraz porównamy wydajność z poprzednimi wersjami PHP.

PHP 7.3 – co nowego

Skoro wstęp mamy już za sobą, przyjrzyjmy się co nowego w wersji PHP 7.3!

PHP 7.3 - co nowego

Do najważniejszych zmian w wersji PHP 7.3 należą takie modyfikacje jak brak konieczności przechodzenia do kolejnego wiersza w przypadku podania wyrażania i zakończenia wprowadzonego znacznika. Przykładowo odwołując się do łańcucha (<<<STR była potrzeba po zakończeniu tego znacznika wprowadzenie wpisu w formie:

STR

);

Od wersji PHP 7.3 wystarczy wprowadzić ciąg STR); co znacząco upraszcza wprowadzanie kodu.

Kolejną dość istotną zmianą jest zmiana dotycząca polecenia HEREDOC/NOWDOC, które od tej pory nie wymagają do programisty konieczności dokonywania wcięć w kodzie jak miało to miejsce wcześniej. Dla przykładu konstruktor w klasie był zapisywany w formie:

class Base {

     private const SQL = <<<SQL

 select *

Teraz jest możliwość wprowadzenia składni w bardziej czytelny sposób:

class Base {

 private const SQL = <<<SQL

select *


Te zmiany pozwalają na zminimalizowanie białych znaków, które wcześniej wydawały się być zbędne.

Kolejną zmianą dość istotną i ułatwiającą programiście kodowanie w PHP 7.3 jest możliwość pozostawienia w tablicy lub NAMESPACE przecinka na końcu ostatniego wystąpienia parametru w tablicy. Do tej pory było konieczne pozbycie się tego przecinka przy ostatnim wyrażeniu co niejednokrotnie powodowało, że pominięcie tej konieczności rodziło błędy niejednokrotnie trudne do zlokalizowania.

Istotną i kluczową zmianą w wersji języka PHP 7.3 jest możliwość wprowadzania referencji w poleceniu „list” co do tej pory było niemożliwe. Teraz jest to proste i intuicyjne rozwiązanie, które może wyglądać tak: list($a, &$b) = $array;

Ponadto zwracanie wyjątków w przypadku błędów wynikających m.in. z niepoprawnego wprowadzenia zmiennych w kodzie powiązanym z JSON, od tej pory są w bardziej czytelne i przez to łatwiejsze do zlokalizowania.

Wśród nowych poleceń i formuł pojawiła się funkcja is_countable(), która została wzbogacona o test policzalności co ułatwia programiście uniknięcie pojawienia się błędu w przypadku kiedy wymóg policzalności nie jest spełniony.

Do nowych funkcji należą także array_key_first/last()  , które umożliwiają uzyskanie pierwszego i ostatniego klucza z tablicy.

Algorytm Argon pozostaje teraz tylko w wersji 2id.

Nowa flaga SameSite która może przyjąć dwie wartości, Strict oraz Lax dostępna w obsłudze ciasteczek. Ponadto w składni odpowiedzialnej za ciasteczka pojawiło się jeszcze kilka drobnych zmian z którymi warto zapoznać się w dokumentacji wersji języka PHP 7.3.

Pojawienie się funkcji hrtime(), która pozwala na bardziej precyzyjne i dokładne informacje na temat czasu wykonania skryptu.

PHP 7.3 – zmiany i nowości

Ponadto pojawiło się wiele innych mniej istotnych zmian takich jak metoda DateTime::createFromImmutable() czy funkcja fpm_get_status(),  jak również zmiany w GMP gdzie pojawiły się takie funkcje jak:

  • gmp_binomial()  
  • gmp_lcm()  
  • gpm_perfect_power()  
  • gmp_kronecker()  

Zmian w nowej wersji jest znacznie więcej i warto się z nimi zapoznać w dokumentacji i obejmują one m.in. nowe i bardziej precyzyjne komunikaty o błędach, które ułatwiają lokalizację elementów koniecznych do skorygowania.

zmiany PHP 7.3

PHP 7.3 – porównanie wydajności

Wydajność kodu PHP 7.3 i jego stabilność jest prawie dwukrotnie wyższa niż miało to miejsce w przypadku wersji 5.6 co świadczy o ogromnym postępie, który nastąpił pomiędzy tymi wersjami.

Również porównanie wydajności z wersją 7.0 jest bardzo korzystne choć tutaj różnica jest już nie tak bardzo widoczna ale wskazująca na ścieżkę rozwoju języka PHP we właściwym kierunku gdzie zwiększenie jego możliwości nie wpłynęło negatywnie na szybkość działania a wręcz przeciwnie staje się on coraz bardziej niezawodnym i zoptymalizowanym językiem pod względem wydajności.

Praktycznie każdy parametr i źródło testów wskazuje na poprawę jakości i działania skryptów opartych na języku PHP 7.3 i ma pozytywny wpływ także na powiązane z nimi frameworki gdzie poprawa wydajności jest wyraźnie zauważalna. Dlatego warto jest przejść na nową wersję języka i skorzystać z jego zasobów w taki sposób by kod był bardziej dopracowany, zunifikowany i dostosowany do nowych standardów umożliwiających poprawę wydajności aplikacji napisanych z użyciem wersji PHP 7.3, która wciąż jest rozwijana.

Autor