Symfony is a web application Framework. This Framework is used for the development of web applications for PHP based on the MVC design. All this Framework is largely inspired by other web application frameworks, including Ruby on Rails, Django or Spring. Symfony is an open-source Framework distributed under the MIT licence, its development is sponsored by the French firm Sensio Labs in Paris.

Symfony aims to speed up the creation and maintenance of web applications and replace recurring typing of similar code. It works on Linux, FreeBSD, Mac OS and Microsoft Windows. A PHP5 web server is required.

Symfony’s properties

Symfony is simple to use thanks to its programming method based on the Ruby on Rails principle, thanks to clean design and simple code legibility. Symfony contains Ajax helpers, plug-ins and admin interface which simplifies the programming process. Thus, developers can deal with application logic rather than wasting time writing endless XML configuration files.

Symfony can be used to build up robust applications for large companies because it helps developers with testing, repairing and documenting projects. At the same time, it gives the full control over configuration and customisation whether it is a directory structure or imported libraries.

Symfony uses Model-View-Controller design which separates business logic from the presentation layer.

Symfony offers a wide range of development environments and contain several tools to help automatising normal software engineering tasks.

  • Code generating tools for creating prototypes and one-click back-end administration.
  • Built-in Framework for unit and functional testing that allows test-driven development.
  • A bug correction panel that speeds up code repairs by displaying the information that developer needs on every page he works with.
  • The command line interface which automates application deployment between two servers
  • Logging tools giving administrators a complete overview of the activities in application

The advantages of using Symfony

  • Open Source. Symfony is distributed under an open source licence which makes it possible to develop proprietorial solutions.
  • Powerful and flexible. Symfony is considered one of the most powerful and flexible PHP frameworks.
  • One of the most used. Symfony is one of the most used frameworks in the world. As a result, it has a very wide community of users. This community is also very active and thus facilitates development. Among the companies using Symfony is Yahoo! or Dailymotion.
  • Precautionary security measures. Symfony integrates precautionary security measures designed to deal with weak parts of the Framework and also with XSS, CSRF and SQL injections unlike domestic PHP development where you have to constantly protect every demand. Symfony systematically contain these security mechanisms without needing them to be implemented in each individual case.
  • Documentation. The documentation is complex and constantly updated.
  • Components code reliability. Symfony provides a solution to specific problems. It respects PHP standards, but also allows the use of certain components without the necessary use of the entire framework which leads to a high degree of flexibility.
  • Coverage of specific needs. Symfony provides solutions of specific problems. It respects PHP standards, but also allows the use of certain components without the necessary use of the entire framework, which leads to a high degree of flexibility.

The disadvantages of using Symfony

  • Demanding to learn. Symfony requires relatively much time to learn.
  • Dependence on other technologies. Other technologies, such as YAML or Doctrine, need to be involved for a complete solution.
  • Unsuitable for smaller projects. Symfony is a relatively extensive framework and may not be too suitable for small-scale projects.