What is symfony 2?

Symfony is a PHP web application framework for MVC applications. It is a free software package released under the MIT license and was first launched in 2005.

The main aim of the entire Symfony project is to speed up the development and maintenance of web applications. It is mostly used in building robust applications in enterprise context with an aim of giving developers full control over the configurations.

How about support?

Over the past decade, there have been at least 13 releases of Symfony, most of which are no longer supported. However, it is equally important to mention that future releases have also been planned. So, as you can see, Symfony is always getting better as the needs of developers change.

Currently, two LTS versions are available; Symfony 2.3 and 2.7.

So, what is Symfony2?

First, Symfony2 is a reusable set of standalone, decoupled, and cohesive components created to resolve common web development issues. Secondly, Symfony2 is a full-stack web framework.

What this means is that depending on your project, you can choose to pick some of the components of Symfony2 and start your own project with them, or, you can use the full-stack as it is. The benefits of using the full-stack include among others the advantages that come with the tight integration it provides out of the box.

It is clear enough that Symfony2 provides the flexibility you need to reduce time to market. The framework is currently the most complete PHP framework available.

Why Symfony2?

There are several advantages of using Symfony2.

  • Testing – If you’re a believer in automated test practices, then you will love Symfony2. First, Symfony2 provides a first layer for functional testing. Being an HTTP-centric framework, it provides a base class where you can simulate HTTP requests and examine output. And, since you don’t have to test with an actual browser, overhead is significantly reduced. Secondly, because Symfony2 is well decoupled, unit testing becomes very easy since it's possible to isolate classes, mock objects, and easily inject stub objects.
  • Debugging – If you ever used Symfony 1.4, then you probably enjoyed using the powerful debug toolbar which made debugging so much easier. Symfony2 goes beyond that by providing an even more powerful, extensible toolbar as well as an integrated profiler. Bundles – Bundles are arguably the most powerful concept in Symfony2. As micro-applications inside your applications, they allow you to completely separate logic from different domains which in turn helps in keeping a clean separation of concerns leading to autonomous development of different features of the domain.
  • Security – Security has also been greatly enhanced in Symfony2. Through the input of the great Symphony community, developers of smaller projects can now enjoy increased security that was initially unavailable to them.

Remember that Symfony2 is a very stable framework and is currently used by major companies such as Meetic, one of the largest dating platforms in the world, and OpenSky, a social shopping platform. So, it's definitely a major player.

Like this article? Share it!