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
- Audit kódu — statický analyzátor (PHPStan/Psalm) odhalí väčšinu problémov
- Aktualizácia knižníc — kontrola závislostí cez Composer
- Test v staging prostredí — nikdy nemigrujte priamo na produkcii
- Postupné nasadenie — najprv 8.0, potom 8.1, 8.2, 8.3...
- 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.