PHP 7.4 dosáhlo konce podpory v listopadu 2022. Od té chvíle nedostává ani bezpečnostní aktualizace. Pokud váš web pořád běží na PHP 7.4, riskujete bezpečnostní mezery a zaostáváte ve výkonu i v možnostech jazyka.
Co přináší PHP 8
Výrazně lepší výkon
PHP 8.x je 20–30 % rychlejší oproti 7.4 díky JIT kompilátoru a interním optimalizacím. Bez jakýchkoli změn kódu.
Nové jazykové vlastnosti
- Named arguments — volání funkcí s pojmenovanými parametry
- Constructor property promotion — kratší zápis konstruktorů
- Match expression — moderní náhrada za switch
- Readonly properties (8.1) — neměnné vlastnosti
- Enums (8.1) — nativní enumerace
- Typed class constants (8.3)
Bezpečnější a striktnější jazyk
PHP 8 je celkově přísnější — víc chyb se odhalí v době psaní kódu, ne až v produkci. To může být při migraci nepříjemné, ale dlouhodobě to znamená stabilnější kód.
Typické problémy při migraci
1. Implicitní konverze
PHP 8 nepřipouští tolik implicitních konverzí jako 7.x. Např. "abc" == 0 už není true.
2. Striktnější typy
Mnohé interní funkce teď vyhazují TypeError místo tichého selhání. Například strpos(null, "abc") v PHP 7.4 fungovalo, v PHP 8 vyhodí výjimku.
3. Odstraněné prvky
PHP 8 odstranilo některé staré konstrukce — magické __autoload(), real jako alias pro float atd. U starších projektů je třeba je refaktorovat.
Postup při migraci
- Audit kódu — statický analyzátor (PHPStan/Psalm) odhalí většinu problémů
- Aktualizace knihoven — kontrola závislostí přes Composer
- Test ve staging prostředí — nikdy nemigrujte přímo na produkci
- Postupné nasazení — nejprve 8.0, potom 8.1, 8.2, 8.3...
- Monitoring po nasazení — sledování chyb v Tracy/Sentry
Závěr
Migrace z PHP 7.4 není volitelná — je to bezpečnostní nutnost. U kvalitně napsaného kódu je to otázka dnů, u legacy projektů může být potřeba refaktor. Pokud potřebujete s migrací pomoct, umíme zajistit audit i samotnou migraci.