Symfony

Symfony is a web application framework written in PHP which follows the model-view-controller (MVC) paradigm. Released under the MIT license, Symfony is free software. The symfony-project.com website launched on October 18, 2005.

Symfony should not be confused with Symphony CMS, the Open Source XML/XSLT content management system.

Goal

Symfony aims to speed up the creation and maintenance of web applications and to replace repetitive coding tasks. It requires a few prerequisites for installation: Unix, Linux, Mac OS or Microsoft Windows with a web server and PHP 5 installed. It is currently compatible with the following Object-relational mappings: Propel and Doctrine.

Symfony has low performance overheads when dealing with an environment that supports a PHP accelerator. It should be noted however, that in typical shared hosting environments where a PHP accelerator is not available, Symfony suffers from a relatively high performance overhead.

Symfony is aimed at building robust applications in an enterprise context, and aims to give developers full control over the configuration: from the directory structure to the foreign libraries, almost everything can be customized. To match enterprise development guidelines, Symfony is bundled with additional tools to help developers test, debug and document projects.

Technical

Symfony makes use of many common and well understood enterprise design patterns, such as Model-View-Controller. Symfony was heavily inspired by other Web Application Frameworks such as Ruby On Rails.

Symfony makes heavy use of existing PHP open source projects as part of the framework, such as:

Propel or Doctrine, as Object Relational Mapping layerCreole, Database abstraction layer (v 1.0 and 1.1, with Propel)PDO Database abstraction layer (1.1, with Doctrine and Propel 1.3)PRADO, an event-driven PHP web application framework, for Internationalization supportSpyc, a YAML parser (v 1.2)Pake, command-line helper (v 1.0)

It also includes a number of Open Source Javascript frameworks and libraries:

Prototype or jQuery, as javascript framework (v 1.0 and 1.1)script.aculo.us, for visual effects (v 1.0 and 1.1)Dynarch.com, for the DHTML Calendar (v 1.0 and 1.1)TinyMCE, for Rich Text Editing (v 1.0)FCKeditor, for Rich Text EditingTCPDF library for generating PDF documents

As of Symfony release 1.2, no Javascript framework is selected as the default, leaving inclusion and implementation of a Javascript library to the developers.

Sponsors

Symfony is sponsored by Sensio, a French web agency. The first name was Sensio Framework, and all classes were prefixed with sf. Later on when it was decided to launch it as open source framework, the brainstorming resulted in the name Symfony, the name which depicts the theme and class name prefixes.

Real-world usage

Symfony is used by the open-source Q&A service Askeet and many more applications, including Delicious and the 20 million users of Yahoo! Bookmarks. As of February 2009, Dailymotion has ported part of its code to use Symfony, and is continuing the transition.

Development Roadmap

The upcoming new release version of Symfony will include new features such as:

Source