Co když potřebujete atomický zápis, ale jste odkázáni na parse_ini_file()
a další standardní funkce, které na zámky kašlou? Stačí prefix safe:// a
máte atomické operace přes běžné PHP funkce. Stream wrapper, žádné
lockfiles, čistá elegance.
Spustíte jeden skript ve dvou oknech a soubor se rozsype jak domeček z karet.
flock má víc háčků než rybářský obchod, rename selže při přepisu a
lock-files brzdí. Tak jsem pro Nette napsal atomické operace se soubory,
které tohle řeší.
Dualita třída vs. soubor a nekonečné require_once jsou zbytečná daň za
přehlednost. RobotLoader z Nette proskenuje adresáře, najde si třídy sám
a vloží je, až když je skutečně potřeba. Žádné konvence, žádná
údržba, jen krutě návykové pohodlí.
Tři hierarchie, dva světy, nula kompromisů. Nette odděluje DOM kodéra od
COM programátora tak důsledně, že grafik může překopat layout a
programátor nemusí ani mrknout. Jedna komponenta, tři zobrazení na stránce,
žádná bolest.
Co kdyby šlo psát Texy! syntaxi přímo do HTML šablon? Ukazuji koncept
speciálních tagů typu <nette:texy>, které oba nástroje
propojí na úrovni šablon. A slibuji, že příští verze Texy! dorazí ruku
v ruce s Nette.
Dědičnost tříd zná každý programátor. Ale co dědičnost HTML stránek?
Nette přineslo objektově orientovaný webdesign: potomek zdědí layout
rodiče a přepíše jen prvky, které potřebuje. Statický web bez copy-paste.
Tři roky přemýšlení, měsíc programování. Framework se nevymýšlí, ten
se vysní na neexistujících aplikacích. Proč jsem záměrně ignoroval cizí
řešení, proč je MVC jen marketingová nálepka a proč těch 50 kB kódu
nenapíše cvičená opice za víkend.
Framework, co se vejde do pěti řádků, ale má filozofii na celý seriál.
Znovupoužitelnost z lenosti, odkazy kontrolující samy sebe a URL, které
nevypadají jako GUID. Nette staví na nápadu, ne na stovkách KB kódu.
Nominace Texy! v soutěži Czech Open Source mi přinesla záplavu urážek,
nařčení z krádeže a konexí. Výsledek? Obrovská chuť poslat celou
open-source komunitu do prdele a už nenapsat ani řádku. Česká scéna
v plné kráse.
PHP vlastnosti s přístupovými metodami? V roce, kdy to jazyk neuměl, jsem
si je prostě vyrobil sám. Konstanta se jménem „property“, funkce
_property() a magické metody __get/__set dohromady tvoří překvapivě čisté
řešení ve stylu Delphi, které zvládne i IDE autocomplete.