Symfony
Original author(s) | Fabien Potencier |
---|---|
Developer(s) | Symfony community |
Initial release | 22 October 2005 |
Stable release | |
Repository | Symfony Repository |
Written in | PHP |
Operating system | Cross-platform |
Type | Web application framework |
License | MIT License |
Website | symfony |
Symfony is a free and open-source PHP web application framework and a set of reusable PHP component libraries. It was published as free software on October 18, 2005, and released under the MIT license.
Goal
Symfony aims to speed up the creation and maintenance of web applications and to replace repetitive coding tasks. It's also 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.[2] To match enterprise development guidelines, Symfony is bundled with additional tools to help developers test, debug and document projects.[3]
Symfony has a low performance overhead used with a bytecode cache.
Technical
Symfony was heavily inspired by the Spring Framework.[4][5]
It makes heavy use of existing PHP open-source projects as part of the framework, including:
- Propel or Doctrine as object-relational mapping layers[6]
- PDO database abstraction layer (1.1, with Doctrine and Propel 1.3)
- PHPUnit, a unit testing framework
- Twig, a templating engine
- Swift Mailer, an e-mail library
Symfony also makes use of its own components, which are freely available on the Symfony Components site for various other projects:
- Symfony YAML, a YAML parser based upon Spyc
- Symfony Event Dispatcher
- Symfony Dependency Injector, a dependency injector
- Symfony Templating, a templating engine
Sponsors
Symfony is sponsored by SensioLabs, a French software developer and professional services provider.[7] The first name was Sensio Framework,[8] and all classes were therefore 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), which matches the existing theme and class name prefixes.[9]
Real-world usage
- Symfony is used by the open-source Q&A service Askeet and many more applications, including Delicious website.[10]
- At one time it was used for 20 million users of Yahoo! Bookmarks.[11]
- As of February 2009, Dailymotion.com has ported part of its code to use Symfony, and is continuing the transition.[12]
- Symfony is used by OpenSky, a social shopping platform, and the Symfony framework is also used by the massively multiplayer online browser game eRepublik, and by the content management framework eZ Publish in version 5.[13]
- Drupal 8, phpBB and a number of other large applications have incorporated components of Symfony.[14][15]
- Symfony is also used by Meetic, one of the largest online dating platforms in the world, on most of its websites for implementing its business logic in the backend.[16]
- Symfony components are also used in other web application frameworks including Laravel, which is another full-stack framework, and Silex, which is a microframework.[17]
- Vogue Paris's website is also built on the Symfony framework[18]
Symfony's own website has a comprehensive list of projects using Symfony and a showcase of websites built with Symfony.[19]
Releases
Symfony manages its releases through a time-based model; a new Symfony release comes out every six months: one in May and one in November. This release process has been adopted as of Symfony 2.2, and all the "rules" explained in this document must be strictly followed as of Symfony 2.4.
The standard version of Symfony is maintained for eight months, whereas long-term support (LTS) versions are supported for three years. A new LTS release is published biennially.[20]
The current LTS release is version 5.4 as per https://symfony.com/releases/5.4.
Color | Meaning |
---|---|
Red | Release no longer supported |
Amber | security fixes only |
Green | Release still supported |
Blue | Future release |
Version | Release date | Support | PHP version | End of maintenance | Notes |
---|---|---|---|---|---|
1.0 | January 2007 | Three years | ≥ 5.0 | January 2010 | |
1.1 | June 2008 | One year | ≥ 5.1 | June 2009 | Security-related patches were applied until June 2010 |
1.2 | December 2008 | One year | ≥ 5.2 | November 2009 | |
1.3 | November 2009 | One year | ≥ 5.2.4 | November 2010 | |
1.4 | November 2009 | Three years | ≥ 5.2.4 | November 2012 | LTS version. 1.4 is identical to 1.3, but it does not support the 1.3 deprecated features.[21] |
2.0[22] | July 2011[23] | ≥ 5.3.2 | March 2013 | Last 2.0.x release was Symfony 2.0.25[24] | |
2.1[25] | September 2012 | Eight months | ≥ 5.3.3 | June 2013 | More components are part of the stable API. |
2.2 | March 2013 | Eight months | ≥ 5.3.3 | November 2013 | Various new features.[26] |
2.3 | June 2013 | Three years | ≥ 5.3.3 | May 2016 | The first LTS release, only three months development, normally six months.[27] |
2.4 | November 2013 | Eight months | ≥ 5.3.3 | July 2014 | The first 2.x branch release with complete backwards compatibility.[28] |
2.5 | May 2014 | Eight months | ≥ 5.3.3 | January 2015 | |
2.6 | November 2014 | Eight months | ≥ 5.3.3 | July 2015 | |
2.7 | May 2015 | Three years | ≥ 5.3.9 | May 2018 | LTS release. |
2.8 | November 2015 | Three years | ≥ 5.3.9 | November 2018 | LTS release. |
3.0 | November 2015 | Eight months | ≥ 5.5.9 | July 2016 | |
3.1 | May 2016 | Eight months | ≥ 5.5.9 | January 2017 | |
3.2 | November 2016 | Eight months | ≥ 5.5.9 | July 2017 | |
3.3 | June 2017 | Eight months | ≥ 5.5.9 | January 2018 | |
3.4 | November 2017 | Three years | ≥ 5.5.9 | November 2020 | LTS release. |
4.0 | November 2017 | Eight months | ≥ 7.1.3[29] | July 2018 | Dropping support for HHVM[30] |
4.1 | May 2018 | Eight months | ≥ 7.1.3 | January 2019 | |
4.2 | November 2018 | Eight months | ≥ 7.1.3 | July 2019 | |
4.3 | May 2019 | Eight months | ≥ 7.1.3 | January 2020 | |
4.4 | November 2019 | Three years | ≥ 7.1.3 | November 2022 | LTS release.[31] |
5.0 | November 2019 | Eight months | ≥ 7.2.5 | July 2020 | Live released by Fabien Potencier during his Keynote at SymfonyCon Amsterdam (11/21/19).[32] |
5.1 | May 2020 | Eight months | ≥ 7.2.5 | January 2021 | |
5.2 | November 2020 | Eight months | ≥ 7.2.5 | July 2021 | [33] |
5.3 | May 2021 | Eight months | ≥ 7.2.5 | January 2022 | Stable release.[34] |
5.4 | November 2021 | Three years | ≥ 7.2.5 | November 2024 | LTS release.[35] |
6.0 | November 2021 | Eight months | ≥ 8.0.2 | January 2023 | [36]Maintenance period extended by six months.[37] |
6.1 | Eight months | ≥ 8.1 | January 2023 | [37] |
See also
- Comparison of server-side web frameworks
- Lime, a Test framework for Symfony 1
- Zend Framework
References
- ^ Potencier, Fabien (2024-04-03). "Symfony 7.0.6 released". Blog. symfony.com. Retrieved 2024-04-13.
- ^ "Symfony explained to a developer".
- ^ "Profiler - Symfony".
- ^ High Performance PHP Framework for Web Development - Symfony. Symfony-reloaded.org. Retrieved on 2014-05-30.
- ^ "Open-Source cross-pollination (Symfony Blog)". symfony.com. Retrieved 2020-06-06.
- ^ The symfony and Doctrine book
- ^ Learn symfony: A Beginner's Tutorial
- ^ Symfony framework forum: General discussion => New symfony tagline brainstorming Archived 2008-12-22 at the Wayback Machine
- ^ Comments by Sensio Owner Archived 2008-12-22 at the Wayback Machine
- ^ Symfony Blog - Delicious Preview built with symfony
- ^ Symfony Blog - Yahoo! Bookmarks uses symfony
- ^ Symfony Blog - Dailymotion, powered by symfony
- ^ Symfony2 meets eZ Publish 5. Symfony (2012-07-02). Retrieved on 2014-05-30.
- ^ Drupal (Projects using Symfony). Retrieved on 2015-12-01.
- ^ "Projects using Symfony Components".
- ^ "Meetic Backend Mutation With Symfony".
- ^ Projects using Symfony
- ^ "Symfony Showcase: Vogue France". Archived from the original on 2015-09-26.
- ^ "E-commerce projects using Symfony". Symfony.com.
- ^ symfony-docs/contributing/community/releases.rst at 4cd6dc2825924c9569621bf749f168a7ba2a235d · symfony/symfony-docs · GitHub. Github.com. Retrieved on 2016-03-16.
- ^ Symfony Blog - About symfony 1.3 and 1.4
- ^ Symfony blog - Why will Symfony 2.0 finally use PHP 5.3?
- ^ Symfony blog - Symfony2 release
- ^ 2.0.23 released. Symfony (2013-03-20). Retrieved on 2014-05-30.
- ^ Symfony 2.1.0 released
- ^ 2.2.0. Symfony (2013-03-01). Retrieved on 2014-05-30.
- ^ 2.3.0, the first LTS, is now available. Symfony (2013-06-03). Retrieved on 2014-05-30.
- ^ 2.4.0 released. Symfony (2013-12-03). Retrieved on 2014-05-30.
- ^ Bump minimum version to PHP 7.1 for Symfony 4
- ^ Symfony 4: End of HHVM support
- ^ "Symfony 4.4 release". symfony.com. Retrieved 2019-11-27.
- ^ "Schedule | SymfonyCon Amsterdam 2019". amsterdam2019.symfony.com. Retrieved 2019-11-27.
- ^ "Symfony 5.2 release". symfony.com. Retrieved 2020-06-28.
- ^ "Symfony 5.3 release". symfony.com. Retrieved 2021-07-16.
- ^ "Symfony 5.4 release". symfony.com. Retrieved 2021-07-16.
- ^ "Symfony 6.0 release". symfony.com. Retrieved 2021-07-16.
- ^ a b "Symfony 6.1 will require PHP 8.1 (Symfony Blog)". symfony.com. Retrieved 2022-02-25.
Further reading
- Potencier, Fabien and Zaninotto, François. (2007). The Definitive Guide to symfony. Apress. ISBN 1-59059-786-9.
- Potencier, Fabien. (2009). Practical symfony (2009). Sensio Labs Books. Doctrine edition, ISBN 978-2-918390-06-0, Propel edition, 978-2918390077, and Spanish edition available on lulu.com.
- Fabien Potencier, Hugo Hamon: Symfony, Mieux développer en PHP avec symfony 1.2 et Doctrine, Eyrolles 2009, ISBN 978-2-212-12494-1, French
- Tim Bowler, Wojciech Bancer (2009). Symfony 1.3 Web Application Development, Packt. ISBN 978-1-84719-456-5.