PHP 7.4 dosiahlo koniec podpory v novembri 2022. Od tej chvíle nedostáva ani bezpečnostné aktualizácie. Ak váš web stále beží na PHP 7.4, riskujete bezpečnostné medzery a zaostávate vo výkone aj v možnostiach jazyka.

Čo prináša PHP 8

Výrazne lepší výkon

PHP 8.x je 20–30% rýchlejšie oproti 7.4 vďaka JIT kompilátoru a interným optimalizáciám. Bez akýchkoľvek zmien kódu.

Nové jazykové vlastnosti

  • Named arguments — volania funkcií s pomenovanými parametrami
  • Constructor property promotion — kratší zápis konštruktorov
  • Match expression — moderná náhrada za switch
  • Readonly properties (8.1) — nemenné vlastnosti
  • Enums (8.1) — natívne enumerácie
  • Typed class constants (8.3)

Bezpečnejší a striktnejší jazyk

PHP 8 je celkovo prísnejšie — viac chýb sa odhalí v čase písania kódu, nie až v produkcii. To môže byť pri migrácii nepríjemné, ale dlhodobo to znamená stabilnejší kód.

Typické problémy pri migrácii

1. Implicitné konverzie

PHP 8 nepripúšťa toľko implicitných konverzií ako 7.x. Napr. "abc" == 0 už nie je true.

2. Striktnejšie typy

Mnohé interné funkcie teraz vyhadzujú TypeError namiesto tichého zlyhania. Napríklad strpos(null, "abc") v PHP 7.4 fungovalo, v PHP 8 vyhodí výnimku.

3. Odstránené prvky

PHP 8 odstránilo niektoré staré konštrukcie — magické __autoload(), real ako alias pre float, atď. Pri starších projektoch ich treba refaktorovať.

Postup pri migrácii

  1. Audit kódu — statický analyzátor (PHPStan/Psalm) odhalí väčšinu problémov
  2. Aktualizácia knižníc — kontrola závislostí cez Composer
  3. Test v staging prostredí — nikdy nemigrujte priamo na produkcii
  4. Postupné nasadenie — najprv 8.0, potom 8.1, 8.2, 8.3...
  5. Monitoring po nasadení — sledovanie chýb v Tracy/Sentry

Záver

Migrácia z PHP 7.4 nie je voliteľná — je to bezpečnostná nutnosť. Pri kvalitne napísanom kóde je to otázka dní, pri legacy projektoch môže byť potrebný refaktor. Ak potrebujete s migráciou pomôcť, vieme zabezpečiť audit aj samotnú migráciu.