Symfony

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Symfony
Symfony.gif
Symfony project.png
Symfony default project
Developer(s) Sensio Labs
Initial release October 22, 2005; 6 years ago (2005-10-22)
Stable release 2.0.10 / February 6, 2012; 22 days ago (2012-02-06)
Written in PHP
Operating system Cross-platform
Type Web application framework
License MIT License
Website http://symfony.com/

Symfony is a web application framework written in PHP that 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.[1]

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

Contents

[edit] Goal

Symfony aims to speed up the creation and maintenance of web applications and to replace repetitive coding tasks. Installation has a few prerequisites: 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.[2]

Symfony has low performance overheads when dealing with an environment that supports a PHP accelerator.

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.[citation needed]

[edit] Technical

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

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

Symfony also makes use of its own components, which are freely available on the Symfony Components site for various other projects:

Using plugins, Symfony is able to support JavaScript frameworks and many more PHP projects, such as:

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.

[edit] Sponsors

Symfony is sponsored by Sensio, a French web agency.[4] The first name was Sensio Framework,[5] 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 (being renamed to Symfony from version 2 and on), the name which depicts[clarification needed] the theme and class name prefixes.[6]

[edit] Real-world usage

Symfony is used by the open-source Q&A service Askeet and many more applications, including Delicious[7] and the 20 million users of Yahoo! Bookmarks.[8] As of February 2009, Dailymotion.com has ported part of its code to use Symfony, and is continuing the transition.[9]. Symfony2 is used by OpenSky, a social shopping platform and the Symfony framework is also used by the massively multiplayer online browser game, eRepublik.

[edit] Development roadmap

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

  • A new form generation framework, first introduced in version 1.2
  • A new admin generator (referred to as scaffolding in Rails) which makes use of the new form framework and is no longer implemented as a helper.
  • Object relationship mapping declared in a separate plugin, rather than being integrated into the ORM
  • Choice of ORM (Doctrine or Propel, or a combination of the two)
  • Classes re-factored for looser coupling between objects, allowing for more user flexibility in using objects and fewer dependencies (similar in principle to the Zend Framework).
  • Routing rules and route objects more closely follow REST design principles.

[edit] Releases

Color Meaning
Red Release no longer supported
Green Release still supported
Blue Future release
Version Release date Support PHP version End of maintenance Notes
1.0 January 2007 3 years >= 5.0 January 2010
1.1 June 2008 1 year >= 5.1 June 2009 security-related patches will be applied until June 2010
1.2 December 2008 1 year >= 5.2 November 2009
1.3 November 2009 1 year >= 5.2.4 November 2010
1.4 November 2009 3 years >= 5.2.4 January 2013 1.4 is identical to 1.3, but does not support the 1.3 deprecated features.[10]
2.0 [11] July 2011[12] >= 5.3.2
2.1 [13] More components will be part of the stable API. Planned for March 2012.
2.2 [14] It is aimed to be the first 2.x LTS version

[edit] See also

[edit] References

[edit] Further reading

[edit] External links

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages