January 10, 2018 Fabien Potencier

When I started to work on Symfony 2 many moons ago, I decided to create a set of decoupled components instead of a monolith framework like symfony 1. This choice was probably one of the key reasons of the immediate success of Symfony 2. I think using dependency injection from day 1 and creating the first dependency injection container in PHP also helped a lot in designing standalone components.

Of course, people don't want to assemble the components themselves when starting a new project. To fill the gap, we created the Symfony Standard Edition. A fast way to get started when creating new projects. An opinionated starting point. "Optimized" for "traditional" frontend applications for which you need a database, a templating system, and a way to send emails.

One of the issues with the Symfony Standard Edition is that even if it makes choices for developers, it comes with either too few or too many dependencies. It does not "scale" well; it is not easy to remove dependencies, and it is not that easy to add new ones.

I won't repeat the many problems with the Standard Edition approach (and other Symfony distributions), as you can read more on my blog, starting with this one.

Suffice to say that the Symfony Standard Edition served us well along the years. But with Symfony 4, it was time to design something new. And Flex was born.

Again, I've written a lot about Flex on my blog. If you are not familiar with Flex, take the time to read my series of posts about it.

Thanks to the new Flex approach, we've decided to not provide the Symfony Standard Edition for Symfony 4.0. But one issue with Flex is that starting projects is more "complex". Most projects need many Symfony features. But new projects now have bare minimum dependencies when created via composer create-project symfony/skeleton . You need to explicitly add all the dependencies you want to depend on. Being explicit is great, but UX suffers.

Thanks to the new unpacking feature of Flex and the new symfony/website-skeleton skeleton, you can now get the best of both worlds.

Like Silex? Start with symfony/skeleton . Like the full-stack Symfony framework better (like what the Standard Edition provides)? Start with symfony/website-skeleton . Then, be free to add or remove dependencies. Scale the way you want your project.

Now that Flex is able to scale up and down very easily, I think it's time to officially announce that the Symfony Standard Edition is now legacy. It should not be a problem for new projects as they should be created with Symfony 3.4 or 4.0, for which Flex is supported. Current projects are not affected in any ways.