PHP.
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.
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.
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í?
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.
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ší?
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íč?
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:…
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…
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…
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…
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…
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.
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…