Operátor ?? se rodil 12 let, aby dorazil přesně ve chvíli, kdy
ho PHP přestalo potřebovat. Místo zjednodušení života dnes spolehlivě
zatajuje překlepy a chyby. Byl bych radši, kdyby se na něj čekalo
ještě déle.
Spor tabulátory vs. mezery obvykle řešíme jako věc vkusu. Jenže pro
programátory na braillském displeji znamená každá mezera jednu promrhanou
buňku. Tabulátory nejsou preference, jsou ohleduplnost k těm, kdo kód čtou
jinak než my.
Tři řádky kódu a vaše Latte šablony najednou rozumí syntaxi Texy.
Statický obsah se přeloží už při kompilaci, dynamický za běhu. Přidejte
si vlastní parametry, filtr pro proměnné a máte typograficky čistý web bez
námahy.
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.
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.
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.
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í.
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é.
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ě.
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.