🐘 PHP & Symfony Digest

Denní přehled PHP, Symfony a ekosystému · středa 2. září 2026
Mám dostatek dat. Skládám finální HTML digest.

TL;DR

Symfony 6.4.45 / 7.4.18 / 8.1.6 — trojice opravných vydání symfony release

30. srpna 2026 tým Symfony vydal synchronní opravné verze pro všechny tři udržované větve. Týden #1026 (24.–30. 8.) zaznamenal 112 sloučených pull requestů a uzavřených 68 issues od 44 přispěvatelů — důraz byl výhradně na stabilizaci, ne na nové funkce.

Z pozoruhodnějších oprav: větev 6.4 řeší autentizaci Redis Sentinel master v komponentě Cache, správnou inicializaci locale-aware služeb v HttpKernel a správné počítání hloubky zděděných MaxDepth metadat v Serializeru. Větev 7.4 opravuje DynamoDB zámky (mazání jen oprávněným vlastníkem) a podepisování hlaviček zpráv v Messengeru SigningSerializer. Ve větvi 8.1 byl opraven GuzzleHttpHandler v HttpClient a problém se stringy při DISABLE_TYPE_ENFORCEMENT v Serializeru.

Větev 8.2 (vývoj) mezitím dostala zajímavé přírůstky: Messenger přestane implicitně deduplikovat FIFO SQS zprávy a HttpFoundation rozšířila konstantu PRIVATE_SUBNETS o pět dalších rozsahů. PHP 8.6 kompatibilita pokračuje — VarDumper opravil obsluhu deprekace SplFileObject.

Symfony Reprise 1.0.0 — moderní nástupce Webpack Encore symfony release

26. srpna 2026 dosáhlo Symfony Reprise stabilní verze 1.0.0 a přináší s ní záruky zpětné kompatibility a sémantické verzování. Reprise není nový bundler — je to lehký plugin (thin plugin) pro Vite a Rsbuild, který zajišťuje Symfony-specifickou integraci, již dříve obstarával Webpack Encore.

Konkrétně plugin generuje entrypoints.json a manifest.json, obhospodařuje hashování názvů souborů, řeší Subresource Integrity pro preloaded Link hlavičky a module scripty a nabízí per-entry opt-out z hashování pro assety s potřebou stabilních URL. Integrace s Twig probíhá přes dedikované Twig tagy. Instalace je dvoubalíčková: composer require symfony/reprise a npm install @symfony/reprise.

Vydání symbolicky uzavírá migrační cestu od Webpack Encore k moderním bundlerům: Encore byl dlouhé roky výchozím způsobem správy assetů v Symfony, ale jeho vývoj zaostával za ekosystémem. Reprise staví na výkonu a ekosystému Vite/Rsbuild a zároveň zachovává konvence, na které jsou Symfony vývojáři zvyklí.

symfony lsp:check — Symfony-aware diagnostika přímo v CI symfony tooling

31. srpna 2026 byl představen příkaz symfony lsp:check jako součást Symfony Language Tools (LSP server). Nástroj spouštěcí vaši Symfony aplikaci, načítá skutečná runtime metadata (routy, služby, konfigurace, překlady) a prohledává kód v PHP, Twig, YAML i XML souborech na více než 30 kategorií Symfony-specifických chyb — typicky překlepy v názvech rout (redirectToRoute('order_confirmaton')), chybějící šablony, neznámé translation klíče nebo neexistující service ID.

Pro CI prostředí, kde nelze aplikaci spustit, existuje přepínač --source-only. Výstup lze formátovat pro GitHub Actions (--format=github), jako JSON nebo SARIF pro integraci s nástroji bezpečnostní analýzy. Příkaz rovněž cílí na coding agenty generující Symfony kód — standardní statická analýza (PHPStan, Psalm) PHP typ-problémům rozumí, ale Symfony-specifickým řetězcům ne.

Příkaz je dostupný přes Symfony CLI 5.20.0, které bylo vydáno ve stejném týdnu a přineslo také Sigstore bundles pro podepisování vydání a buildx pro release attestations. Symfony Language Tools si tak v prvním týdnu existence vybudovaly základní CI integraci navazující na editorový LSP server.

PHP 8.6 Beta — přehled novinek a harmonogram php release

PHP 8.6 vstoupilo 13. srpna 2026 do fáze Beta 1, Beta 2 proběhla 27. srpna a Beta 3 je naplánována na 10. září. Hard feature freeze nastane 22. září (RC1), první stabilní vydání se očekává 19. listopadu 2026. Mezitím vyšly i PHP 8.5.10 a 8.4.25 (27. 8.) jako rutinní bug-fix verze pro udržované větve.

Potvrzené novinky PHP 8.6 zahrnují: třídu Time\Duration pro práci s časovými intervaly, funkci clamp($value, $min, $max), enum SortDirection (ASC/DESC pro třídící API), partial function application (curry-style volání funkcí), nové Io\Poll API pro asynchronní I/O a grapheme_strrev() pro obrácení Unicode řetězců. Funkce json_decode nově uvede pozici chyby v chybové zprávě.

Deprekace: spl_object_hash() je označena za zastaralou ve prospěch spl_object_id(). Funkce trim(), ltrim(), rtrim() a chop() nově odstraňují i Form-Feed znak (\f) ve výchozím chování. Zároveň PHP Foundation sbírá data pro State of PHP 2026 report ve spolupráci s JetBrains — průzkum v posledních dnech sběru.

Doctrine ORM 2 EOL posunut, ORM 4.0 na obzoru doctrine

Doctrine projekt posunul plánovaný konec životnosti ORM 2 na nejdříve únor 2027. Původně bylo EOL plánováno na únor 2026, tedy dva roky po vydání ORM 3. Tým zdůvodnil posun tím, že migrace na ORM 3 trvá komunitě déle, než se předpokládalo — přechod zahrnuje mj. odstranění deprecated anotací a přizpůsobení se novým API DBAL 4.

Paralelně pokračuje vývoj Doctrine ORM 4.0, které bude vyžadovat minimálně PHP 8.4 a bude plně postaveno na native lazy objects (bez starší proxy infrastruktury). Základ byl položen ve verzi ORM 3.4.0 (červen 2025), která jako první přinesla property hooks a native lazy objects podporu. Poslední vydanou stabilní verzí větve DBAL je 4.4.3 (březen 2026).

Pro projekty stále na ORM 2 je tedy stále čas na řízenou migraci — doporučený postup je nejprve přejít na ORM 3.x při zachování DBAL 3 a poté postupně upgradovat. ORM 4.0 zatím nemá konkrétní datum vydání; tým uvažuje o dokončení na podzimním hackathonu.

Pest 5 — Test Impact Analysis, AI agenti a PHPStan integrace tooling release

Pest 5 byl oznámen Nunem Maduro na Laracon US 2026 v Bostonu. Verze vyžaduje PHP 8.4 a PHPUnit 13 a přináší zásadní architekturu first-party pluginů: PHPStan, Rector, AI Agents a evals jsou nyní součástí oficiálního ekosystému. Nejvýraznější novinkou je TIA (Test Impact Analysis) engine, který mapuje, které testy jsou dotčeny změnou v konkrétním souboru, a při každém spuštění spouští pouze relevantní podmnožinu — výrazně zkracuje dobu CI pipeline.

First-party PHPStan plugin řeší dlouhodobý bolák komunity: PHPStan standardně nerozumí funkcionálnímu API Pestu (it(), test(), expect(), $this uvnitř closure). Plugin přidává tyto znalosti do PHPStan a umožňuje statickou analýzu testovacího kódu na stejné úrovni jako produkčního kódu. AI Agent plugin pak umožňuje psát „evals" — testy ověřující výstupy LLM modelů — přímo v Pest syntaxi.

PHPStan samotný mezitím dospěl ve větvi 2.1.x (nejnovější patch verze z dubna 2026 jsou okolo 2.1.50) a nadále přidává inferenci pro nové PHP 8.4/8.5 konstrukty. PHPUnit 13, na němž Pest 5 stojí, přináší nativní podporu property hooks a aktualizované aserce pro moderní PHP typy.