🐘 PHP & Symfony Digest

Denní přehled PHP, Symfony a ekosystému · středa 15. července 2026
Mám dost dat. Skládám digest.

TL;DR

PHP 8.6 Alpha 1: clamp(), PFA a IO\Poll API php release

Dne 2. července 2026 byl vydán PHP 8.6.0 Alpha 1 (vedoucí vydání: Máté Kocsis), čímž byl oficálně odstartován nový release cyklus. Alpha 2 je plánována na 16. července, feature freeze a Beta 1 na 13. srpna a General Availability na 19. listopadu 2026. Alpha není určena pro produkci, ale je vhodná k testování nových funkcí a reportování regresí.

Mezi nejvýraznější novinky patří: nová funkce clamp($value, $min, $max), která nahrazuje rozšířený vzor max($min, min($max, $val)) — při nevalidním rozsahu ($min > $max) vyhazuje ValueError. Dále bylo přijato RFC pro Partial Function Application (PFA) s výsledkem hlasování 33:0: umožňuje vyplnit část argumentů callable pomocí placeholder syntaxe ?, např. $addTen = add(10, ?);. Přijato bylo také IO\Poll API (Jakub Zelenka) — namespace Io\Poll s backendy epoll/kqueue/WSAPoll, který poskytuje unified I/O vrstvu pro AMPHP, ReactPHP a Revolt bez změny jejich kódu. Closure optimizace RFC povoluje PHP inferovat static pro closures bez $this a cachovat bezstavové closures mezi voláními.

Větvička 8.6 také zlepšuje hlášení chyb v json_decode() a json_last_error_msg() (non-RFC), přidává cache pro first-class callable instance a TAILCALL VM podporu pro Windows buildy.

Koordinovaný PHP security release: 8.5.8 / 8.4.23 / 8.3.32 / 8.2.32 php release

Téhož 2. července 2026 PHP tým vydal bezpečnostní záplaty pro všechny aktivně podporované větve. PHP 8.5.8 je security release pro nejnovější stabilní větev, podobně PHP 8.4.23, PHP 8.3.32 a PHP 8.2.32. Všichni uživatelé jsou vyzýváni k okamžitému upgradu. Opraveny byly bezpečnostní problémy, jejichž detaily jsou dostupné v příslušných ChangeLog souborech na php.net.

Tento hromadný security release ukazuje, že PHP tým nadále koordinovaně záplatuje všechny větve s aktivní podporou. PHP 8.2 dostává pouze security opravy (bugfix podpora skončila), zatímco 8.3 a 8.4 mají plnou bugfix i security podporu. PHP 8.1 a starší nejsou v žádném security plánu — provozovatelé těchto verzí jsou bez záplat.

A Week of Symfony #1019: Messenger, Validator a AssetMapper novinky symfony

Týdenní přehled pro 6.–12. července 2026 zaznamenal 48 sloučených pull requestů (31 v kódu, 17 v dokumentaci), uzavření 25 issues a příspěvek 22 autorů, kteří přidali přes 5 500 řádků a odebrali téměř 3 000. Nejzajímavější novinkou je PR #64829, který přidává příkaz messenger:show pro inspekci čekajících zpráv ve frontě — dosud bylo nutné sahat přímo do transportu nebo psát vlastní nástroje.

PR #64844 přidává podporu pipe operátoru do Validator komponentyValidation třídu lze nově volat jako invokable, což umožňuje elegantní napojení na chystaný PHP pipe operator. PR #64866 přidává možnost deaktivovat RejectRedeliveredMessageMiddleware přes konfiguraci, což se hodí ve scénářích s vlastní retry logikou. V AssetMapper proběhla oprava ignorování kompilovaných assetů v debug režimu (commit d56fec8) a Serializer získal podporu pro asociativní CSV headers s přeřazováním sloupců (commit a1115aa).

Zároveň bylo vydáno video na SymfonyCasts: „Symfony Security: The Basics: Protecting Logout with CSRF", doplňující commit 71d1fa7, který umožňuje deaktivovat automatický redirect po logout v Security komponentě.

Symfony bugfix vlna + Twig 3.28.0 symfony release

Dne 27. června 2026 Symfony tým vydal souběžné bugfix release napříč všemi udržovanými větvemi: Symfony 8.1.1, 8.0.14, 7.4.14 a 6.4.42. Tento koordinovaný release model je typickým Symfony vzorem — všechny aktivní větve dostávají záplaty ve stejný den. Větev 6.4 je LTS a bude dostávat bugfixy do listopadu 2026, security opravy pak do listopadu 2027.

Dne 3. července 2026 pak přišel Twig 3.28.0, jehož předchozí týdenní přehled (#1018) zmiňuje vylepšení maker a sandboxu. Twig 3.x je aktuálně jediná aktivně vyvíjená větev šablonovacího enginu — Twig 2 je EOL. Symfony 8.1.0 (minor release) vyšlo 29. května a v ekosystému Symfony UX bylo vydáno Symfony UX 3.2.0 a 2.36.1 (19. června).

PHPStan 2.2.5 a Pest 4.7.5 tooling release

PHPStan 2.2.5 byl vydán 5. července 2026. Série 2.2.x přinesla v průběhu léta výkonnostní optimalizace: cachování výsledků isSuperTypeOf() per-guard, přeskakování constant-array guards při vytváření podmíněných výrazů a přidání podpory pro PHP 8.5 partitioned cookie atribut. Samotné php.net web bumpl PHPStan ze 2.2.2 na 2.2.5 ve svých dev-závislostech, což demonstruje adopci i v samotném PHP projektu. PHPStan je nyní ve verzi 2.x — hlavní větev vydaná v prosinci 2024 přinesla striktní kontrolu typů a lepší inferenci.

Pest 4.7.5 vyšel 6. července 2026 a vyžaduje PHP ≥ 8.3 a PHPUnit ≥ 12.5.30. Pest zůstává populární alternativou k PHPUnit s DSL zaměřeným na čitelnost; verze 4.x přiblížila API k nativnímu PHPUnit 12, takže přechod mezi oběma frameworky je snazší. Integrace s API Platform pro testování REST/GraphQL endpointů funguje skrze oba frameworky shodně.

Doctrine ORM 2 EOL a PHP adopce podle stitcher.io doctrine php

Doctrine tým potvrdil, že ORM 2 EOL je odložen minimálně na únor 2027 — původně plánovaný dřívější konec byl revidován, protože adopce ORM 3 zůstává pomalá (přibližně 25–30 % oproti ORM 2 dle Packagist čísel). Adopce DBAL 4 je o něco lepší, kolem 60 %. Poslední vydání ORM 3.6.7 proběhlo v květnu 2026; pro červenec 2026 nebyly zatím zaznamenány nové patch release. ORM 3 a DBAL 4 byly vydány v únoru 2024 a přinesly výrazné zmenšení — ORM z 400 KB na 326 KB — i zlepšení code coverage z 84 % na 89 %.

Na stitcher.io vychází každoroční PHP version stats za červenec 2026: 111 balíčků v ekosystému přeskočilo na PHP 8.4 jako minimální požadovanou verzi. Vše pod PHP 8.2 nedostává žádné aktualizace vůbec. Ze sledovaných 1 000 balíčků pouze 352 vyžaduje minimální PHP verzi, která stále dostává security záplaty. Leden 2026 byl přeskočen, ale data jsou zahrnuta do červencového vydání pro kontinuitu srovnání.