At EnderTech our web developers use Symfony for most of their custom built sites. Its ease-of-use and flexibility, along with the numerous timesaving features, make developing sites and web apps a breeze.
Symfony is an object oriented PHP framework that is used to develop websites. At this time, Symfony 1.4 is the latest stable release while Symfony2 is nearing completion. Symfony 1.4 includes a number of helpful features that make development faster, such as utilizing a Model-View-Controller (MVC) structure, access to an Object Relational Manager (ORM) with auto-generated database objects, and an admin generator.
Web developers who need to create a website with complex business logic should use Symfony. The use of MVC helps alleviate some of the complexities of creating a website by separating the database model logic from the HTML templates. Using an ORM, like Doctrine or Propel, makes retrieving data easier since there is a consistent interface. Developing the backend of a website is a breeze with the admin generator since various list pages and edit forms are available instantly.
Symfony should be used when a website project has an increasing number of specifications coming from the client since it is simple to accommodate changes. For instance, if another column was added to a table in a website’s database, a developer just needs to include it in the schema.yml file and regenerate the database model classes. After that, a developer has quick access to that new column, all without having to write PHP code manually. Also, if the client wanted a new page, a new module can be auto-generated or an existing module can be used to create a new controller action that can display that page.
To use Symfony, in general, one must download the framework code (http://www.symfony.com/download) and create and configure a new project application. But if someone just wanted to get started, the Symfony site also provides a sandbox project that does most of this for you and is ready to use (http://www.symfony-project.org/installation). The Symfony site has provided extensive documentation about how to develop with it (http://www.symfony-project.org/doc/1_4/ , http://www.symfony.com/doc/2.0/)
The web developers at Ender Technology utilize Symfony for most of their custom built sites because of its ease of use and flexibility along with the numerous amounts of timesaving features.