Symfony

Last updated
Symfony
Original author(s) Fabien Potencier
Developer(s) Symfony community
Initial release22 October 2005;18 years ago (2005-10-22)
Stable release
7.0.6 [1] / 2024-04-03 [±]
Repository Symfony Repository
Written in PHP
Operating system Cross-platform
Type Web application framework
License MIT License
Website symfony.com

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.

Contents

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:

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

Sponsors

Symfony is sponsored by SensioLabs, a French software developer and professional services provider. [6] The first name was Sensio Framework, [7] 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. [8]

Real-world usage

Symfony's own website has a comprehensive list of projects using Symfony and a showcase of websites built with Symfony. [18]

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. [19]

The current LTS release is version 6.4 as per https://symfony.com/releases/6.4.

ColorMeaning
RedRelease no longer supported
Ambersecurity fixes only
GreenRelease still supported
BlueFuture release
VersionRelease dateSupportPHP versionEnd of maintenanceNotes
1.0January 2007Three years≥ 5.0January 2010
1.1June 2008One year≥ 5.1June 2009Security-related patches were applied until June 2010
1.2December 2008One year≥ 5.2November 2009
1.3November 2009One year≥ 5.2.4November 2010
1.4November 2009Three years≥ 5.2.4November 2012LTS version. 1.4 is identical to 1.3, but it does not support the 1.3 deprecated features. [20]
2.0 [21] July 2011 [22] ≥ 5.3.2March 2013Last 2.0.x release was Symfony 2.0.25 [23]
2.1 [24] September 2012Eight months≥ 5.3.3June 2013More components are part of the stable API.
2.2March 2013Eight months≥ 5.3.3November 2013Various new features. [25]
2.3June 2013Three years≥ 5.3.3May 2016The first LTS release, only three months development, normally six months. [26]
2.4November 2013Eight months≥ 5.3.3July 2014The first 2.x branch release with complete backwards compatibility. [27]
2.5May 2014Eight months≥ 5.3.3January 2015
2.6November 2014Eight months≥ 5.3.3July 2015
2.7May 2015Three years≥ 5.3.9May 2018LTS release.
2.8November 2015Three years≥ 5.3.9November 2018LTS release.
3.0November 2015Eight months≥ 5.5.9July 2016
3.1May 2016Eight months≥ 5.5.9January 2017
3.2November 2016Eight months≥ 5.5.9July 2017
3.3June 2017Eight months≥ 5.5.9January 2018
3.4November 2017Three years≥ 5.5.9November 2020LTS release.
4.0November 2017Eight months≥ 7.1.3 [28] July 2018Dropping support for HHVM [29]
4.1May 2018Eight months≥ 7.1.3January 2019
4.2November 2018Eight months≥ 7.1.3July 2019
4.3May 2019Eight months≥ 7.1.3January 2020
4.4November 2019Three years≥ 7.1.3November 2022LTS release. [30]
5.0November 2019Eight months≥ 7.2.5July 2020Live released by Fabien Potencier during his Keynote at SymfonyCon Amsterdam (11/21/19). [31]
5.1May 2020Eight months≥ 7.2.5January 2021
5.2November 2020Eight months≥ 7.2.5July 2021 [32]
5.3May 2021Eight months≥ 7.2.5January 2022Stable release. [33]
5.4November 2021Three years≥ 7.2.5November 2024LTS release. [34]
6.0November 2021Eight months≥ 8.0.2January 2023 [35] Maintenance period extended by six months. [36]
6.1May 2022Eight months≥ 8.1January 2023 [37]
6.2November 2022Eight months≥ 8.1July 2023 [38]
6.3May 2023Eight months≥ 8.1January 2024 [39]
6.4November 2023Three years≥ 8.1November 2027LTS release. [40]
7.0November 2023Eight months≥ 8.2July 2024 [41]
7.1May 2024Eight months≥ 8.2January 2025 [42]

See also

Related Research Articles

<span class="mw-page-title-main">Qt (software)</span> Object-oriented framework for software development

Qt is cross-platform application development framework for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.

<span class="mw-page-title-main">Delphi (software)</span> General-purpose programming language and a software product

Delphi is a general-purpose programming language and a software product that uses the Delphi dialect of the Object Pascal programming language and provides an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software, currently developed and maintained by Embarcadero Technologies.

<span class="mw-page-title-main">Midgard (software)</span>

Midgard is an open source persistent storage framework. It provides an object-oriented and replicated environment for building data-intensive applications.

eZ Publish is an open-source enterprise PHP content management system that was developed by the Norwegian company Ibexa. eZ Publish is now maintained by 7x. eZ Publish is freely available under the GNU GPL version 2 license, as well as under proprietary licenses that include commercial support. In 2015, eZ Systems introduced eZ Platform to replace eZ Publish with a more modern and future-proof solution. In 2024, 7x released eZ Publish 6.0 (stable) to replace eZ Publish 5.4 with a more modern and future-proof solution compatible with PHP 7.x and 8.x software. In 2024/02 7x followed up its first release (6.0) with a powerful second release 6.0.1 containing key installation bugfixes and a brand new database backend for flat file database called SQLite that is mature and stable ready to use to simplify your website or web application. In 2024/03 7x continues to develop and release monthly updates to eZ Publish with the release of version 6.0.2 which provides default design improvements and many more extensions enabled for use by default.

<span class="mw-page-title-main">Django (web framework)</span> Python web framework

Django is a free and open-source, Python-based web framework that runs on a web server. It follows the model–template–views (MTV) architectural pattern. It is maintained by the Django Software Foundation (DSF), an independent organization established in the US as a 501(c)(3) non-profit.

<span class="mw-page-title-main">CakePHP</span> Open-source web framework in PHP

CakePHP is an open-source web framework. It follows the model–view–controller (MVC) approach and is written in PHP, modeled after the concepts of Ruby on Rails, and distributed under the MIT License.

Laminas Project is an open source, object-oriented web application framework implemented in PHP 7 and licensed under the New BSD License. The framework is basically a collection of professional PHP-based packages. The framework uses various packages by the use of Composer as part of its package dependency managers; some of them are PHPUnit for testing all packages, Travis CI for continuous Integration Services. Laminas provides to users a support of the model–view–controller (MVC) in combination with Front Controller solution. MVC implementation in Laminas has five main areas. The router and dispatcher functions to decide which controller to run based on data from URL, and controller functions in combination with the model and view to develop and create the final web page.

This is a comparison of notable web frameworks, software used to build and deploy web applications.

Flow is a free and open source web application framework written in PHP. The first final version was released on October 20, 2011. It was primarily designed as a basis for the content management system Neos, but can also be used independently. It is generally suitable for PHP development of mid- or large-scaled web applications.

lime is a unit testing and functional testing framework built specifically for the Symfony web application framework based on the Test::More Perl library. The framework is designed to have readable output from tests, including color formatting, by following the Test Anything Protocol which also allows for easy integration with other tools. lime tests are run in a sandbox environment to minimize test executions from influencing each other. Though the lime testing framework is built for testing within Symfony, lime is contained within a single PHP file and has no dependency on Symfony or any other library.

A mobile development framework is a software framework that is designed to support mobile app development. It is a software library that provides a fundamental structure to support the development of applications for a specific environment.

<span class="mw-page-title-main">TYPO3</span>

TYPO3 is a Web Content management system (CMS) written in the programming language PHP. It can run on a variety of web servers, such as Apache, Nginx, or Internet Information Services (IIS), and on many operating systems, including Linux, Microsoft Windows, FreeBSD, macOS, and OS/2. It is free and open-source software released under the GNU General Public License version 2.

Pimcore is an open-source enterprise PHP software platform for product information management (PIM), master data management (MDM), customer data management (CDP), digital asset management (DAM), content management (CMS), and digital commerce.

Twig is a template engine for the PHP programming language. Its syntax originates from Jinja and Django templates. It's an open source product licensed under a BSD License and maintained by Fabien Potencier. The initial version was created by Armin Ronacher. Symfony PHP framework comes with a bundled support for Twig as its default template engine since version 2.

<span class="mw-page-title-main">Composer (software)</span> Software; application level dependency manager for the PHP programming language

Composer is an application-level dependency manager for the PHP programming language that provides a standard format for managing dependencies of PHP software and required libraries. It was developed by Nils Adermann and Jordi Boggiano, who continue to manage the project. They began development in April 2011 and first released it on March 1, 2012. Composer is strongly inspired by Node.js's "npm" and Ruby's "bundler". The project's dependency solving algorithm started out as a PHP-based port of openSUSE's libzypp SAT solver.

<span class="mw-page-title-main">Laravel</span> Open source web application framework, written in PHP

Laravel is a free and open-source PHP- based web framework for building high-end web applications. It was created by Taylor Otwell and intended for the development of web applications following the model–view–controller (MVC) architectural pattern and based on Symfony. Some of the features of Laravel include modular packaging system with a dedicated dependency manager, different ways for accessing relational databases, utilities that aid in application deployment and maintenance, and its orientation toward syntactic sugar.

<span class="mw-page-title-main">Phalcon (framework)</span>

Phalcon is a PHP web framework based on the model–view–controller (MVC) pattern. Originally released in 2012, it is an open-source framework licensed under the terms of the BSD License.

ibexa DXP Content management system

eZ Platform is an open-source enterprise PHP content management system (CMS) and Digital eXperience Platform (DXP) developed by the company Ibexa, which has headquarters Oslo, Norway and offices in Germany, France, Poland, England, US and Japan. eZ Platform is freely available under the GNU GPL version 2 license, as well as under proprietary licenses that include commercial support as well as access to additional features. The commercial version of the software extends the capabilities of the open-source core with features such as personalization, e-Commerce and additional editorial and development capabilities.

Angular is a TypeScript-based, free and open-source single-page web application framework run on Node.js. It is led by the Angular Team at Google and by a community of individuals and corporations. Angular is a complete rewrite from the same team that built AngularJS. Angular ecosystem consists of a diverse group of over 1.7 million developers, library authors, and content creators.

<span class="mw-page-title-main">Pop PHP Framework</span> Free and open source PHP web framework

The Pop PHP Framework a free and open source PHP Web framework that was created by Nick Sagona. It is distributed under the BSD License and hosted on GitHub. The framework is intended to be utilized for rapid application development, with an emphasis on web applications.

References

  1. Potencier, Fabien (2024-04-03). "Symfony 7.0.6 released". Blog. symfony.com. Retrieved 2024-04-13.
  2. "Symfony explained to a developer".
  3. "Profiler - Symfony".
  4. High Performance PHP Framework for Web Development - Symfony. Symfony-reloaded.org. Retrieved on 2014-05-30.
  5. "Open-Source cross-pollination (Symfony Blog)". symfony.com. Retrieved 2020-06-06.
  6. Learn symfony: A Beginner's Tutorial
  7. Symfony framework forum: General discussion => New symfony tagline brainstorming Archived 2008-12-22 at the Wayback Machine
  8. Comments by Sensio Owner Archived 2008-12-22 at the Wayback Machine
  9. Symfony Blog - Delicious Preview built with symfony
  10. Symfony Blog - Yahoo! Bookmarks uses symfony
  11. Symfony Blog - Dailymotion, powered by symfony
  12. Symfony2 meets eZ Publish 5. Symfony (2012-07-02). Retrieved on 2014-05-30.
  13. Drupal (Projects using Symfony). Retrieved on 2015-12-01.
  14. "Projects using Symfony Components".
  15. "Meetic Backend Mutation With Symfony".
  16. Projects using Symfony
  17. "Symfony Showcase: Vogue France". Archived from the original on 2015-09-26.
  18. "E-commerce projects using Symfony". Symfony.com.
  19. symfony-docs/contributing/community/releases.rst at 4cd6dc2825924c9569621bf749f168a7ba2a235d · symfony/symfony-docs · GitHub. Github.com. Retrieved on 2016-03-16.
  20. Symfony Blog - About symfony 1.3 and 1.4
  21. Symfony blog - Why will Symfony 2.0 finally use PHP 5.3?
  22. Symfony blog - Symfony2 release
  23. 2.0.23 released. Symfony (2013-03-20). Retrieved on 2014-05-30.
  24. Symfony 2.1.0 released
  25. 2.2.0. Symfony (2013-03-01). Retrieved on 2014-05-30.
  26. 2.3.0, the first LTS, is now available. Symfony (2013-06-03). Retrieved on 2014-05-30.
  27. 2.4.0 released. Symfony (2013-12-03). Retrieved on 2014-05-30.
  28. Bump minimum version to PHP 7.1 for Symfony 4
  29. Symfony 4: End of HHVM support
  30. "Symfony 4.4 release". symfony.com. Retrieved 2019-11-27.
  31. "Schedule | SymfonyCon Amsterdam 2019". amsterdam2019.symfony.com. Retrieved 2019-11-27.
  32. "Symfony 5.2 release". symfony.com. Retrieved 2020-06-28.
  33. "Symfony 5.3 release". symfony.com. Retrieved 2021-07-16.
  34. "Symfony 5.4 release". symfony.com. Retrieved 2021-07-16.
  35. "Symfony 6.0 release". symfony.com. Retrieved 2021-07-16.
  36. "Symfony 6.1 will require PHP 8.1 (Symfony Blog)". symfony.com. Retrieved 2022-02-25.
  37. "Symfony 6.1 release". symfony.com. Retrieved 2022-12-29.
  38. "Symfony 6.2 release". symfony.com. Retrieved 2022-12-29.
  39. "Symfony 6.3 release". symfony.com. Retrieved 2022-12-29.
  40. "Symfony 6.4 release". symfony.com. Retrieved 2022-12-29.
  41. "Symfony 7.0 release". symfony.com. Retrieved 2023-12-18.
  42. "Symfony 7.1 release". symfony.com. Retrieved 2023-12-18.

Further reading