Watch this in-depth look at how to setup and run production apps on Heroku. This will be the first session of a two part series on production apps on Heroku. The second session will take place in July.
Make dispatcher lazy, do not trigger its creation on middleware definition
The dispatcher has quite a few dependencies due to all of the subscribers that are added to it. One of these is the logger, several other services are affected as well though.
The listener shortcut methods like on(), before(), after(), error() all force creation of the dispatcher and thus all of its dependencies. This makes it impossible to have lazy configuration of those services.
The specific issue that triggered this was lazy configuration of the logger, which simply does not work once you have before() or after().
By using extend(), all of those shortcut calls can delay the creation of the dispatcher and thus solve the issue. It will add a slight overhead, but it should be relatively small, since the results of creating a service are memoized through share().
They dropped the support for Symfony versions before 2.3.x (2.1.x and 2.2.x). Because 2.3 is an LTS release, I think this version will be supported by Silex at least till the end of the support period on Symfony.
So, you’ve heard that using the Symfony2 security layer was complex? I tend to both agree and disagree. On the one hand, if your needs are “standard” (form authentication with users stored in a database, HTTP basic authentication, …), setting up the security is really as easy as configuring some options.
But on the other hand, if you want a custom authentication/authorization/user provider system, things are getting a tad more complex as you need to understand all the concepts and how you need to wire up everything. As of Symfony 2.4, this process has been made easier thanks to the introduction of some easier way to customize the security layer without the need to create a bunch of classes. In this post, I’m going to describe how to code some common features.
Today we’re proud to announce a redesigned repository experience focused on your content, built for everyday use.
We’ll be slowly rolling out the ability to opt-in to this new design over the next few days. It’s a big change and we don’t want to interrupt you mid-day. Within a couple of weeks this will be the new face of GitHub for everyone.
Every new Symfony release tries to brings some small but useful improvements. Let’s dive into some of them for Symfony 2.3 (in no particular order).
In #6950, Emanuele Gaspari tweaked the output of the router:match command to display the route information if there is a match. That should help you understand why this specific route matched.
When a customer stumbles upon an exception when testing your shiny new Symfony application, you might want to get the stack trace to investigate the issue further. You can use the web profiler, but you can now also ask him to copy and paste the stack trace from the web page as there is now a plain text version of it thanks to the work of Igor Wiedler in #6613.