Przyspiesz moją stronę, czyli porównanie PHP 7.2, 7.3, 7.4

, Czas czytania: min. , Komentarz(y):3

Przesiadając się na wersję PHP 7.2 względem poprzedniej wersji, możemy odnotować około 10% skok wydajności, co przekłada się na szybkość działania naszej strony internetowej. W dzisiejszych czasach zależy nam, aby strony ładowały się coraz szybciej, abyśmy mogli jak najszybciej otrzymywać odpowiedź od serwera.

Spis treści:

PHP 7.2

Na skok wydajności serwisów internetowych w głównej mierze wpłynął mechanizm Dead Code Elimination, który został wprowadzony wraz z wersją 7.2. Polega on na usuwaniu linii w kodzie tzw. ,,Martwych instrukcji’’, które nie powodują żadnych zmian w działaniu aplikacji czy też stron a jedynie zwiększają wielkość pliku.

Główne zmiany wprowadzone w PHP 7.2

  • Rozszerzenie działania typów parametrów;
  • Ulepszone deklaracje typu argumentów;
  • Usunięcie wsparcia dla zmiennych, które nie są opatrzone cudzysłowem;
  • Usunięcie rozszerzenia mcrypt;
  • Wprowadzenie nowego typu narzędzi kryptograficznych;
  • Dodano bibliotekę Sodium.

Kilka funkcji/elementów wycofanych wraz z wersją PHP 7.2

  • __autoload()
  • create_function()
  • parse_str()
  • gmp_random()
  • each()
  • assert()
  • read_exif_data()
  • $php_errormsg
  • (unset) cast
  • $err context

PHP 7.3

Decydując się na przejście z wersji 7.2 na wersję 7.3, zyskujemy wzrost wydajności o 10%. Otrzymujemy również zwiększoną odporność na szkodliwe oprogramowania, które mogą narazić właściciela strony na koszty wynikające z modyfikacji plików.

Główne zmiany wprowadzone w PHP 7.3

  • Dodanie funkcji is_countable() – funkcja po podaniu zmiennej sprawdza, czy jest policzalna.
  • Dodanie funkcji, które zwracają zarówno pierwszy, jak i ostatni klucz tablicy [array_key_first(), array_key_last()].
  • Funkcja image2wbmp() została zastąpiona na rzecz funkcji imagewbmp().
  • Funkcja define() została pozbawiona ostatniego parametru (case_insensitive).
  • Z funkcji filter_var wycofano FILTER_FLAG_SCHEME_REQUIRED oraz FILTER_FLAG_HOST_REQUIRED.
  • Dodanie nowej funkcji do haszowania haseł Argon2id.
  • Zostaje wprowadzona flaga JSON_THROW_ON_ERROR.

PHP 7.4

Zostaliśmy przyzwyczajeni do zwiększania się wydajności serwisów internetowych z każdą wersją PHP, dlatego tym razem też nie mogło być inaczej. Przeskok z wersji 7.3 na wersję 7.4 daje nam wzrost wydajności rzędu 15%. Z każdą kolejną wersją otrzymujemy ulepszenia z zakresu bezpieczeństwa.

Powstałe zmiany, które warto znać w PHP 7.4

  • Ulepszono ładowanie wstępne (preloading) – kod aplikacji jest najpierw kompilowany, a następnie zostaje on zapisany w pamięci. Dzięki temu możemy uniknąć ponownego kompilowania kodu i wykorzystywać dane, które zostały umieszczone w przestrzeni pamięci.
  • Wprowadzenie funkcji strzałkowych (arrow functions) – dzięki tej zmianie możemy zaoszczędzić na ilości pisanego kodu, co przekłada się na czytelność.
arrow functions Powyższy kod możemy zapisać w sposób następujący: Wprowadzenie funkcji strzałkowych
  • Array Spread Operator – jego działanie zostało rozszerzone. W tej wersji może być używany do pakowania i rozpakowywania tablic.
  • Wprowadzono obsługę typów deklaracji (typed properties), co oznacza, że można używać typów wartości [null, int, float, array, string, object, iterable, self, bool, parent].
  • Wprowadzono Null Coalescing Assignment Operator, co znaczy, że poniższe polecenie
Wprowadzono Null Coalescing Assignment możemy zapisać w sposób następujący: Wprowadzono Null Coalescing Assignment

W ramach konkluzji

Z każdą kolejną wersją PHP otrzymujemy wiele nowych funkcji, które zmniejszają zużycie pamięci i znacznie zwiększają wydajność serwisów internetowych, co przekłada się na lepsze pozycjonowanie naszej strony. Poza zwiększaniem wydajności rozwijana jest również gałąź odpowiedzialna za bezpieczeństwo naszego kodu. Posiadając najnowszą wersję PHP mamy możliwość uniknięcia ograniczeń, które występowały we wcześniejszych wersjach.

Tabela podsumowująca:

PHP 7.2

PHP 7.3

PHP 7.4

Wzrost wydajności serwisów internetowych względem poprzednika o 10%

Wzrost wydajności serwisów internetowych względem poprzednika o 10%

Wzrost wydajności serwisów internetowych względem poprzednika o 15%

Wprowadzenie Dead Code Elimination

Wprowadzenie funkcji array_key_first() i array_key_last()

Wprowadzenie preloading,

wprowadzenie funkcji strzałkowych,

rozszerzenie funkcji operatora spread

Brak wsparcia technicznego

Brak wsparcia technicznego

W pełni wspierana technicznie do 28 listopada 2021 roku

Brak wsparcia z zakresu bezpieczeństwa

Wsparcie bezpieczeństwa do 6 grudnia 2021 roku

Wsparcie bezpieczeństwa do 28 listopada 2022 roku

   

Zostaw komentarz do artykułu: Przyspiesz moją stronę, czyli porównanie PHP 7.2, 7.3, 7.4

3 Komentarz

Dodaj komentarz

candyweb patryk

Świeży koder z krwi i kości. Pochłonięty przez programowanie. Lubiący rozwiązywać kolejne napotykane problemy.