// kategorie

PHP.

Moderní PHP v produkci — návrh domény, Symfony a novinky v jazyce.

Praktické texty o PHP tak, jak ho píšu v reálných projektech: Domain-Driven Design v Symfony, CQRS, agregáty, bounded contexts a migrace legacy aplikací přes Strangler Fig. Součástí je i průběžný přehled novinek v jednotlivých verzích jazyka. Nejstarší texty jsou z roku 2011, nejnovější z letoška.

// k.php.meta
Článků81
Poslední článek12. října 2026
Průměrné čtení4 min
RSS feed/feed

Refactoring v malých krocích: Jak měnit živý kód a nic nerozbít?

Branch by abstraction, parallel change a postupné vytahování kódu z controlleru. Jak refaktorovat Symfony a React kód tak, aby šel každý commit rovnou na produkci.

22 min čtení legacy PHP React refactoring Symfony testování

Retry patterns: Proč se API po výpadku rozbije ještě víc?

Naivní retry umí po výpadku systém dorazit. Thundering herd, exponential backoff, jitter a idempotence. Jak napsat retry, který pomáhá, a ne škodí?

12 min čtení API PHP provoz retry Symfony

Video: Novinky v PHP 8.6

Sedm novinek z PHP 8.6 v necelých čtyřech minutách: částečná aplikace funkcí, Duration, clamp(), readonly, komentáře u parametrů, výčty a změna v session, na kterou si před upgradem dejte bacha.

2 min čtení

Videokurz DDD v Symfony. Má to vůbec smysl, když kód píše AI?

Videokurz Domain-Driven Design v Symfony 8: 46 dílů, česky a zdarma na YouTube. Proč kurz začíná strategickým designem místo entit a proč je to v době AI agentů ještě důležitější?

7 min čtení AI architektura bounded context DDD Symfony video a streamy

Cache odshora dolů: CDN, Redis, OPcache, memoize

Cache má nejmíň čtyři vrstvy a každá se invaliduje jinak. Co odchytí CDN, na co je Redis, kdy vám zámek v Symfony nepomůže a co se stane, až vyprší horký klíč?

14 min čtení cache OPcache performance PHP Redis Symfony

PHP 8.6: Bezpečnější výchozí nastavení session

PHP 8.6 mění tři výchozí hodnoty v konfiguraci session. Jsou to změny, které měly přijít už dávno, a klidně je můžete mít v produkci už nastavené ručně. session.use_strict_mode:…

2 min čtení

PHP 8.6: Částečná aplikace funkcí

Na tuhle novinku se v PHP čekalo roky. Verze 8.6 přináší částečnou aplikaci funkcí (partial function application) a z existující funkce si díky ní vyrobíte closure s předvyplněnými…

3 min čtení

PHP 8.6: Novinky u výčtů

Výčty dostávají v PHP 8.6 dvě drobnosti: vestavěný výčet SortDirection a možnost implementovat __debugInfo(). Když jsem tu psal o výčtech v PHP 8.1, byly úplnou novinkou. Za těch…

3 min čtení

PHP 8.6: Dokumentační komentáře u parametrů

Drobnost, která odstraňuje jednu otravnou duplicitu. PHP 8.6 umožňuje napsat dokumentační komentář přímo u parametru. Doteď se parametr musel pojmenovat dvakrát, jednou v hlavičce funkce a podruhé v…

2 min čtení

PHP 8.6: Třída Duration

PHP konečně dostává vlastní typ pro dobu trvání, třídu Time\Duration. Ten problém zná asi každý. sleep() bere sekundy, usleep() mikrosekundy, stream_set_timeout() sekundy plus mikrosekundy zvlášť a v konfiguraci…

2 min čtení

Schématik δ: Update po 10 letech

Moje logická hra běžela deset let na Symfony 3.1 a PHP 5.5, aniž bych v ní změnil jediný řádek. Na jeden prompt jsem ji přepsal na Symfony 8.1 a na PHP 8.5.

6 min čtení architektura kvalita kódu legacy migrace Symfony

PHP 8.6: Funkce clamp()

Malá, ale příjemná novinka. PHP 8.6 přidává funkci clamp(), která ořízne hodnotu do zadaného rozsahu. Doteď se to psalo kombinací min() a max(). Funguje to, jen mi to…

2 min čtení