Want to know more about Nette? You've come to the right place. Here you will find all the tips, tricks, tutorials. Information for beginners and experts.
AI agents don't read your screen. They need types they can verify and a feedback loop they can run. Nette has been typed to the bone for years, and now all packages pass PHPStan level 8, giving agents firm ground to generate and tune your code.
Version 4.0 removes deprecated parameters from `getComponents()`, drops SmartObject from the base class, and introduces a key behavioral change: monitoring callbacks now fire top-down instead of bottom-up, fixing cases where callbacks ran on components that had already left the tree.
Today, browsers send Sec-Fetch headers that reveal the origin of each request. Find out how Nette 3.4 builds on this principle to introduce the new isFrom() API, which provides automatic CSRF protection without tokens and renders addProtection() obsolete.
Server-Side Request Forgery (SSRF) is one of the most critical OWASP vulnerabilities in modern PHP apps. Discover how to prevent SSRF and DNS rebinding attacks with a single line of code using the new UrlValidator in Nette Http 3.4.0. Protect your cloud infrastructure today.
Tracy 2.12 revolutionizes PHP application debugging. It adds a parallel markdown layer to the JS console and .md files to logs, letting AI agents (such as Claude Code) read error outputs, dumps and BlueScreen without parsing HTML.
Executing external programs in PHP doesn't have to be a nightmare. Discover Nette Process, a safe and robust alternative to proc_open() and shell_exec(). Easily handle real-time outputs, process timeouts, and pipes across all operating systems.
How do you write secure PHP templates without adding any runtime dependencies? Discover how Latte works as a build-time compiler for Tracy. Generate clean .phtml files, avoid manual htmlspecialchars, and achieve true type-safety.
New filters |column, |commas, and |limit, improved |slice for iterators, no more variable leaking from foreach, and automatic indentation removal. No revolution, but little things you'll appreciate every day.
For fourteen years, I tried to figure out why parallel tests on Windows take 7× longer than on Linux. A story full of dead ends, deadlocks, and a twenty-year-old bug in PHP that someone finally fixed.
The new attribute in Nette 3.2.9 automatically exposes presenter properties in the template – without manual assignment via `$this->template`. It eliminates boilerplate code and you naturally get type checking thanks to PHP, IDE, and static analysis.
Version 3.1 introduces Smart HTML Attributes: null removes the attribute, booleans work intuitively, arrays natively render into class and data-*. Together with nullsafe filters, strict types, and runtime type checking, this is the biggest DX improvement since version 3.0.
The new HttpAssert class in Nette Tester 2.5.6 lets you automatically verify status codes, headers, redirects, and response content. No more manually clicking through your website after every server configuration or nginx rule change.
Shared layouts with relative links broke when used by presenters from different levels of the directory structure. A new Latte tag in Nette Application 3.2.7 defines the base for relative links, so the layout works correctly regardless of which presenter calls it.
A new library that automatically handles versioning, image dimensions, and Vite integration. It works without configuration, and thanks to custom mappers, it covers anything – from product images to dynamic OG image generation.
Where to put presenters and classes? A new chapter in the Nette documentation introduces a domain-oriented directory structure that is understandable at first glance and naturally evolves as the project grows.
Thanks to lazy objects in PHP 8.4, services in the DI container are created only at the moment of actual use. Nette DI 3.2.4 makes it possible to activate this with a single line in the configuration – without any changes to your code.
The completely revamped Nette Database documentation covers all features of the library and introduces a brand new section with a thorough analysis of security risks. Practical examples of SQL injection and its prevention will help you write not only functional but also secure code.
Version 4.1.7 adds support for property hooks and asymmetric visibility. See how to elegantly generate modern code without getters and setters, define properties in interfaces, and fine-tune access to object properties.
Reading large files line by line, lazy mode in matchAll(), and the new Iterables class – three areas where Nette uses PHP generators to save memory and boost performance, without requiring you to change the way you write your code.
Latte 3.0.18 introduces locale settings and a new localDate filter that automatically adapts the format of dates, times, and numbers to local conventions. You specify the format once and Latte handles the order, separators, and translations for any language.
Latte introduces a new |group filter for grouping data by any criteria and an extended |sort filter with by and byKey parameters. Organizing and sorting data directly in templates has never been easier.
You've reached the end.