• Optimized for Symfony Components (no need to use the symfony/ prefix, just workflow, dom-crawler, …) • Opinionated choices (admin, api, orm, mailer, …)
extension class? Which file do I need to change to register it? Which tag do I need to use? How do I declare a tag in YAML? Which interface/class do I need to implement/ extend? It’s too complex. What about doing it the dirty way and do it in the controller instead? hmm, ok
package • A new Maker bundle to simplify creating files • Support for Flex private repositories • No more boilerplate code, just business logic • Controllers and commands are services now • From micro to monolith • Meta-packages doing a lot for you out of the box Productivity boost! Better DX
it • API Platform, the most advanced API system • Admin, simple and powerful • Symfony Encore, makes working with Webpack enjoyable Talk at Cluj! Talk at Cluj! Talk at Cluj!
parameters (Docker/K8s) Built-in PSR-3 logger Env vars where it makes sense DI simplified, classes as IDs PSR-11, PSR-6, PSR-16 out of the box Private services by default
= Request::createFromGlobals(); // ... // web/app.php $kernel = new AppKernel('prod', false); $request = Request::createFromGlobals(); // ... Symfony 2/3 Symfony 4 # .env APP_ENV = dev APP_DEBUG = 1 Enables the merge of app.php and app_dev.php to a single index.php