Changes in Nette Tester 1.2.0
Code coverage HTML reports, 33 parallel threads by default, a new FileMock class for emulating files in memory, recursive structure comparison, and the ability to combine @dataProvider with @testCase and @multiple — here's a overview of what's new.
New Addons Portal is out
The redesigned portal now supports Packagist packages, loads dependencies from composer.json, and accepts both Texy! and Markdown descriptions. Most existing addons have been migrated, and the entire portal is released as an open-source Nette application.
Nette Foundation meetup 3
Key topics included the upcoming Addons portal deployment, the long-awaited splitting of Nette Framework into smaller repositories, and cherry-picking commits for the Nette Framework 2.1.2 release. Martin Major takes over as Nette Boss for the next month.
Nette Foundation meetup 2
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.
What's New in Nette 2.1: Forms
New low-level API for working with data, CheckboxList element, rendering via n:name attributes, partial rendering, smarter validators with dynamic references to other elements, and simplified creation of custom elements. An overview of all the important changes.
How to encode and decode JSON in PHP?
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.
DI versus Service Locator
Service locator looks like a handy way of passing dependencies, but in reality it's an antipattern. I explain why it violates the principle of explicit dependencies, and show how to distinguish legitimate constructs from a real service locator.
What is Dependency Injection?
Hidden dependencies make code unpredictable and confusing. Yet DI is a surprisingly simple technique – just stop hiding dependencies and start passing them explicitly. Through practical examples, I show why it's worth it and how to do it.
You've reached the end.