Latte 3: největší skok v dějinách Nette

Kompletně přepsaný kompilátor, ze kterého nezůstal ani řádek. Pět let jsem se do toho bál pustit, protože to znamenalo v podstatě napsat vlastní PHP-Parser. Dnes má Latte AST strom, neprůstřelný sandbox a kompilátor, o jakém jsem roky snil.

Nejsi ve vleku cargo kultů?

Dvacet let jsem poctivě psal static u polí a ŘVAL KONSTANTAMI, protože „se to tak dělá“. Pak jsem změřil jedno a zamyslel se nad druhým. Oba důvody dávno zmizely. Čím větší blbost, tím tužší má kořínek.

Zapisovat nullable types s otazníkem nebo bez?

Roky jsem odmítal psát otazník u nullable typů, protože redundance mě fysicky bolí. Pak přišlo PHP 8.0 s promoted properties a konzistence mě donutila kapitulovat. Příběh o tom, jak vás vlastní principy doženou.

Který framework má nejlepší dokumentaci?

Změřil jsem poměr dokumentace ku kódu u sedmi PHP frameworků. Výsledek je překvapivě vyrovnaný, Nette je nad průměrem a jako jediný má kompletní český překlad. Primitivní metrika, ale leccos prozradí.

Jak probíhá shutdown v PHP a volání destruktorů?

Shutdown v PHP má svůj rituál a destruktory v něm hrají roli, kterou málokdo chápe správně. Globální objekty se bourají pozpátku chytrým algoritmem, ostatní dostanou jen zdvořilostní __destruct bez skutečného zrušení. A to nejlepší nakonec: volání destruktoru vůbec není garantované.

Jak napsat error handler v PHP?

Vlastní error handler v PHP vypadá triviálně, dokud nenaboříte půlku ekosystému. Stačí ignorovat pár pravidel o potlačených chybách a návratových hodnotách a máte v kódu zradu, kterou nikdo nečeká. Tady je návod, jak to udělat správně.

Objevena první zranitelnost v Nette, aktualizujte!

Po 13 letech dostal Nette svůj první CVE záznam, když taiwanský výzkumník objevil RCE zranitelnost. Opravil jsem ji napříč všemi verzemi, včetně těch dávno nepodporovaných, protože bezpečnost si nezaslouží technologický dluh. Aktualizujte, prosím.

Co jsou SameSite cookie a proč je potřebujeme?

CSRF útok tu straší dvacet let a frameworky ho řeší způsobem, který vlastně vyzve uživatele, aby ochranu obešel. SameSite cookie konečně nabízí systémovou cestu ven. Rozebírám Lax, Strict, None, cookie stuffing i to, proč při útoku správná odpověď zní: utéct.

Jak zprovoznit https na localhost?

Lokální vývoj bez HTTPS je jako řídit auto bez volantu. Sepsal jsem kompletní postup od generování SSL certifikátu přes klikací peklo ve Windows MMC konzoli až po konfiguraci Apache a nginx. Jestli se na konci zobrazí zelený zámek, je to důvod k oslavě.

Fight jazyků: co obnášejí dvě mutace Nette?

Dvě synchronní mutace dokumentace o rozsahu 3 MB, anglické fórum od roku 2008, kód bez jediného českého slova. Čeština je přidaný komfort pro zdejší komunitu, nikoli default. A jak to celé funguje v praxi?

To je vše. Další články se teprve rodí.

phpFashion © 2004, 2026 David Grudl | o blogu

Ukázky zdrojových kódů smíte používat s uvedením autora a URL tohoto webu bez dalších omezení.