A recap of the second Nette Foundation meetup from February 2014: what we accomplished since January — the official blog, Tester 1.0 release, Latte/Tracy/Database separation — and what's next, including the new Addons Portal and documentation updates.
You already write tests every day — every time you var_dump a result to check if it's correct. Instead of deleting that code, let it work for you. Nette Tester turns this habit into real automated testing.
After four years of development, Nette Tester has grown into a stable testing tool featuring parallel execution, code coverage analysis, integrated NetBeans 8.0 support, and a clean, easy-to-use API.
Nové low-level API pro práci s daty, prvek CheckboxList, vykreslování přes n:name atributy, partial rendering, chytřejší validátory s dynamickými odkazy na jiné prvky či zjednodušená tvorba vlastních prvků. Přehled všech důležitých změn.
A simple OOP wrapper for JSON sounds easy, but PHP's json_* functions are riddled with bugs and quirks. Here's a robust implementation that works around unreliable error reporting, UTF-8 detection issues, and other surprising pitfalls.
Property injection láká svou stručností a elegantně řeší problémy s dědičností. Má ale vážné nedostatky: chybí typová kontrola i neměnnost. Potřebovali bychom read-only veřejné proměnné, což PHP 8.1 konečně přináší.
Konstruktor, metody, nebo veřejné proměnné? Každý způsob předávání závislostí má svá úskalí. Rozebírám výhody i nevýhody jednotlivých přístupů, včetně záludného problému s dědičností, který narušuje zdánlivou bezpečnost konstruktorové injektáže.
Service locator vypadá jako šikovný způsob předávání závislostí, ale ve skutečnosti je antipatternem. Vysvětluji, proč porušuje princip zřejmosti závislostí, a ukazuji, jak odlišit legitimní konstrukce od skutečného service locatoru.
Kdy se DI a lazy loading dostávají do konfliktu a proč je řešení přes továrničku ve skutečnosti chybné? Správnou cestou je accessor, který závislost vrátí, aniž by předjímal způsob jejího vytvoření.
Skryté závislosti a globální stav dělají z jednoduchých tříd nepředvídatelné černé skříňky. Přitom řešení je až překvapivě prosté: nechte si závislosti předat zvenku. Na praktických příkladech ukazuji, proč a jak na to.
Generování HTML značek „na koleně“ vede k nepřehlednému a chybovému kódu. Nette\Utils\Html to řeší intuitivním objektovým rozhraním s fluent API pro práci s elementy, atributy i jejich potomky.
You've reached the end.