Milan Šulc alias f3l1× reveals how the Contributte and Componette projects came to be, how he manages to balance open source with work, and where he draws inspiration from JavaScript and Laravel. An honest look at building a community around Nette.
A practical guide to creating single-purpose CLI and cron scripts in Nette without any additional libraries. From directory structure to choosing debug mode to integration with the DI container – the resulting code is almost laughably short.
Latte 2.7 brings type support to templates. We'll show you how to declare types using classes and tags, how to have the code generated for you, and how this gives you proper IDE autocompletion and prepares you for static analysis.
Latte 2.7 brings variable type declarations for proper IDE code completion and static analysis, a new |batch filter for easy rendering of linear data into a table, and other improvements including extended optional chaining.
Matouš Němec has revived the development of Nette plugins for PhpStorm after a longer hiatus. We talked about what motivated him to do so, what new features the Latte plugin in particular brings, and what he has planned next – including improvements for Neon and support for array typehints.
A practical guide on how to integrate Vue.js with a classic Nette website and Latte templates. Using an autocomplete suggester as an example, we'll walk through creating a Vue SFC, connecting it to Nette signals, redrawing snippets, and processing everything via webpack with Encore.
From the first `sum()` function all the way to real classes with databases – a clear explanation of why hidden dependencies are just as bizarre as a sum without addends, and how to easily fix them with explicit parameters.
Latte 2.6 introduces the `?` operator for optional chaining, which elegantly replaces repetitive null checks, and the ability to define your own functions. Both significantly simplify and clean up your template code.
A step-by-step guide to replacing manually managed script tags with a Webpack bundle, setting up Webpack DevServer for automatic rebuilds, and using the contributte/webpack extension to smartly switch between dev-server and production bundles.
Nette\Mail since version 3.1 makes it easy to sign emails using DKIM. Learn how to set up DkimSigner in code and in NEON configuration, generate keys, and properly publish the public key in DNS.
A brief guide to integrating Doctrine ORM into Nette using Nettrine – from installing the necessary packages through configuring DBAL and ORM to the first console commands. Everything you need for a quick start with a minimum of extensions.
The year 2019 brought the first Nette Conference, the long-awaited version 3, a redesigned website, and full support for PHP 7.4. Share your favorite Nette moment on social media and win a package with socks, a T-shirt, and a license from JetBrains.
A look back at the eleven-year history of the nette.org website – from the playful blue design and wiki documentation to today's modular form. See how the homepage, forum, documentation, blog, and add-ons listing have transformed over the years.
Nette 3 has a built-in `search` extension that many people don't know about. Just a few lines in a neon file and you'll save yourself hundreds of lines of manual registration of services ending with Repository, Factory, or Facade.
Tracy 2.6 and 2.7 brought 10× faster dump(), support for multiple AJAX requests, a CLI panel, table sorting by click, GDPR filtering of sensitive data, PSR-3 adapters, and source mapping for Latte templates.
The Nette Framework is thoroughly prepared and tested for PHP 7.4, not only version 3.0 but also 2.4. Take a look at how typed properties and arrow functions work in PHP Generator, Nette Schema, or when injecting dependencies into presenters.
Updating Nette can be surprisingly easy. The key is to upgrade one version at a time, take advantage of clear deprecation messages, and start testing with E_USER_DEPRECATED turned off. A few simple tips that will save you a lot of time.
Nette PhpGenerator formats code according to the Nette coding standard by default. But if you need output fully compliant with PSR-12, just switch to PsrPrinter – we'll show you how.
Properly configuring the script-src directive is not trivial – domain whitelists fail and different CSP versions behave differently. I'll show a universal solution using nonce and strict-dynamic that works across browsers, including a practical setup in Nette.
This release brings fixes for FileMock and FileMutator file locking, a new Assert::nonNull() method, and a nice UX touch: running tests as plain PHP scripts now shows a green “OK” on success instead of an empty screen.
After two years of development, Nette 3.0 becomes the world's first full-stack framework fully leveraging PHP 7.1 strict types. It brings a rewritten Dependency Injection container, 10× faster Tracy dumping, new packages, improved routing API, and dozens of other improvements.
You've reached the end.