What is Symfony?

Symfony is a high-quality framework, with solid support and easy to maintain: Symfony is mature, stable, professional and very well documented.

The Symfony project is a set of PHP components that is made up of a web application framework, a work philosophy and a community of developers, all working collaboratively.

  • Symfony Framework: It is the main PHP framework for creating sites and web applications, built with the most prominent, used and advanced components of Symfony itself.
  • Symfony Components: This is an independent group of reusable components with which the best and most popular web applications are built, such as Drupal, phpBB and eZ Publish.
  • Symfony Community: This is a huge community of Symfony fans who are committed to taking the PHP language to a much higher level.
  • Symfony Philosophy: Promotes professionalism, best practices, standardizations and application interoperability.

Interesting numbers from the Symfony project so far:

  • More than 3,000 contributors.
  • More than 300,000 developers.
  • More than 48,000,000 downloads per month.

Why should I use a framework?

The use of a framework is not totally necessary, but it is one of the tools available with which you can develop better code and faster.
It is better because a framework provides you with the certainty that an application is developed that is in accordance with the rules of the business or company, that is fully structured, and that is both maintainable and upgradeable according to needs.
It’s faster because it allows custom software development company to save time and work by reusing generic modules to focus on other areas that need more focus.

Invest in tasks, not technologies

This is the basic principle of a framework: Not having to reinvent the wheel or think about unnecessary advances, as well as ending low-value tasks that do not contribute anything to the organization (for example, with the development of generic components), all this in order to fully focus on the rules of the business.

For example, the framework will require the developer to only need 2 or 3 days to create an authentication form (which is not a specific task). The time saved in this activity can be dedicated to more specific components, as well as their corresponding unit tests, obtaining solid, sustainable and high-quality code.

Update and maintenance guaranteed

A framework is capable of guaranteeing a long life for applications. If a team of developers works in their own way, with their own criteria, only they will be able to update and maintain applications easily.

The structure of the framework completely avoids this type of “traps” and allows any developer to be able to update and maintain an application when necessary, even if they have not participated in its construction.

This does not mean that a framework is some kind of “black box”. In the case of symfony, the framework is still PHP, but the applications that are developed in this framework are not limited to it, since they are completely interoperable, for example, with another PHP library.

6 reasons to use Symfony

Reputation: Since its launch in 2005, Symfony has been adopted for software development services by professional developers around the world. This framework today is recognized for its stable environment and its functionality, and positive opinions regarding it increase significantly every day. In addition, Symfony has the active participation of a large community made up of developers, integrators and other users who help the constant improvement of this tool.

Permanence: SensioLabs is the name of the company behind this framework, which was created almost two decades ago and is a web agency with very important accounts among its clients. Symfony was conceived to satisfy the needs of this company and today it continues to be the tool used to develop its projects and those of its clients. You can say that Symfony was developed by professionals for professionals.

References: Symfony is trusted by hundreds of applications of different sizes and types, including intranets, general public site pages, social networks, communities, management and work applications, among others. Some examples are Yahoo, Dailymotion, Opensky.com and applications like phpBB and Drupal.

Innovation: Symfony has everything you are looking for in a framework: speed, flexibility and reuse of components, among others. In addition, its framework for development and generating best practices takes it beyond PHP, trying to adapt new ideas to the world of PHP, such as the inclusion of Java dependency.

Resources: When you work with Symfony, you are never alone, you have support from a large community, company support and consulting services.

Interoperability: The main idea behind Symfony is to not limit yourself to Symfony. You can build applications that meet your needs, as long as you do so while respecting PHP standards, class naming conventions, etc. Symfony’s interoperability is such that at the core it uses external software building blocks (ORM Doctrine, Swiftmailer, etc.).

Symfony 4

Changed the installation process and directory structure through the use of coding packages, which were made to improve the developer experience in the framework.

Symfony can be used to easily create web applications, as well as to build other frameworks on top of them. This process is complicated but can be “hidden” from the developer’s view in this version.

Please remember that Symfony 4 requires PHP version 7.1.3 or higher, so make sure your environment is up to date.

Facility

When Symfony 2 was released, installation was done with a single .zip download. Then Symfony adopted composer, i.e. change to composer create-project symfony/symfony-standard-edition PROJECT_NAME. This command turned out to be a bit problematic:

  • The “standard edition” was a huge package and it took time for the composer to resolve all the dependencies.
  • The new developers didn’t really know what the “standard edition” was about.
    The “standard edition” has a simple demo built in, so if you wanted to start a new project you had to delete some example files.


In 2015, a new Symfony installer was announced in which the synchronization problem was solved, since the .zip file is downloaded again, instead of placing the composer. In addition, the “demo app” problem was resolved, incorporating the “separate symfony” commands for new projects.

These are the only packages needed to run the framework, which means:

  • There is no default ORM
  • There are no default templates
  • No other components are necessary for each project (such as template, security, etc).