Symfony

from Wikipedia, the free encyclopedia

Symfony

Symfony2.svg
Basic data

developer SensioLabs
Publishing year October 22, 2005
Current  version 5.1.3
( July 24, 2020 )
operating system cross-platform
programming language PHP
category Web framework
License MIT license
German speaking No
symfony.com

Symfony is a web framework written in PHP and a set of reusable PHP components / libraries. Symfony was released on October 18, 2005 under the MIT license.

History and philosophy

Symfony has been developed since 2005 under the leadership of Fabien Potencier . It was created parallel to the increasing popularity of Ruby on Rails and the desire for a similar MVC framework based on PHP. Symfony tries to keep the configuration to a minimum. If no configuration is specified for this, the assignment of e.g. B. Models for database tables using the same names in singular and plural ( convention before configuration ). The console application enables simple websites to be developed using rapid application development .

Version 2 was released in July 2011. It is a new implementation that is completely different from version 1. There is no easy way to migrate applications from version 1 to version 2. The framework now consists of modules, so-called bundles , which can run completely independently of one another, but can be seamlessly integrated into the framework process. By using a dependency injection container, the entire application has a modular structure. This makes it easy to test and expand. In addition, namespaces supported. So Symfony 2 requires PHP 5.3 or higher.

Bundles

Bundles are separate units of a web application. A fictitious guest book bundle therefore contains all the data required for the guest book to run completely. This includes not only the required application logic , but also database queries and resources (graphics, scripts, etc.). Developers can publish developed bundles so that other Symfony 2 users can integrate these application units without direct code changes.

features

layers

The Model-View-Controller design pattern is implemented by Symfony as follows:

model

There are two plugins to choose from ( Doctrine and Propel ) to save the objects . These are libraries for object-relational mapping that store PHP objects in a relational database .

The relationships between different models are determined by so-called associations .

From version 1.1 of Symfony, the previous standard framework Propel has been outsourced to a plug-in and is no longer an integral part of the framework.

View

A view is understood to be the presentation layer of the application. In the view layer, with the help of the controller, content is provided that often includes templates for the output. Any PHP code can be embedded in a template. Symfony brings so-called helpers , which can create or format certain outputs in templates, such as links or forms. For recurring expenses can be seen on partials resort which within the templates iterated are.

Controller

The controller formulates the business logic and provides interfaces in the form of methods that interact with the logic. As in many other frameworks, these interfaces / methods are also called actions . Parameters for the methods can also be passed. The structure of the URLs can be flexibly adapted with the help of routes.

Versions

version Publication date Support Support until PHP version Remarks
Older version; no longer supported: 1.0 January 2007 3 years January 2010 > = 5.0
Older version; no longer supported: 1.1 June 2008 1 year June 2009 > = 5.1 Security-relevant updates by June 2010
Older version; no longer supported: 1.2 December 2008 15 months February 2010 > = 5.2
Older version; no longer supported: 1.3 November 2009 1 year November 2010 > = 5.2 Like 1.4, but with a compatibility level for existing Symfony projects
Older version; no longer supported: 1.4 November 2009 3 years November 2012 > = 5.2
Older version; no longer supported: 2.0 July 2011 20 months March 2013 > = 5.3.2 Switch to PHP 5.3
Older version; no longer supported: 2.1 September 2012 9 months May 2013 > = 5.3.3 Revised form component, use of Composer
Older version; no longer supported: 2.2 March 2013 8 months November 2013 > = 5.3.3 Revised form component, use of Composer
Older version; no longer supported: 2.3 May 2013 3 years May 2016 > = 5.3.3 First LTS (Long Term Support) version
Older version; no longer supported: 2.4 November 2013 8 months July 2014 > = 5.3.3
Older version; no longer supported: 2.5 May 2014 8 months January 2015 > = 5.3.3
Older version; no longer supported: 2.6 November 2014 8 months July 2015 > = 5.3.3
Older version; no longer supported: 2.7 May 2015 3 years May 2018 > = 5.3.9 Second LTS (Long Term Support) version
Older version; no longer supported: 2.8 November 2015 3 years November 2018 > = 5.3.9 LTS (Long Term Support) version
Older version; no longer supported: 3.0 November 2015 8 months July 2016 > = 5.5
Older version; no longer supported: 3.1 May 2016 8 months January 2017 > = 5.5 PSR-6 compatible cache component, LDAP support
Older version; no longer supported: 3.2 November 2016 8 months July 2017 > = 5.5.9
Older version; no longer supported: 3.3 March 2017 8 months January 2018 > = 5.5.9
Current version: 3.4 November 2017 3 years November 2020 > = 5.5.9 LTS (Long Term Support) version
Older version; no longer supported: 4.0 November 2017 8 months July 2018 > = 7.1.3
Older version; no longer supported: 4.1 May 2018 8 months January 2019 > = 7.1.3
Older version; still supported: 4.2 November 2018 8 months July 2019 > = 7.1.3 Security updates only until January 2020
Current version: 4.3 May 2019 8 months January 2020 > = 7.1.3
Current version: 4.4 November 2019 3 years November 2022 > = 7.1.3 LTS (Long Term Support) version
Current version: 5.0 November 2019 8 months July 2020 > = 7.2.5
Current version: 5.1 May 2020 8 months January 2021 > = 7.2.5
Future version: 5.2 November 2020 8 months July 2021 > = 7.2.5
Legend:
Older version; no longer supported
Older version; still supported
Current version
Current preliminary version
Future version

More current information can be found on the website symfony.com/releases.

use

literature

  • Francois Zaninotto, Fabien Potencier: The Definitive Guide to symfony , Apress 2007, ISBN 1-59059-786-9 , also available online , English
  • Timo Haberkern: The Symfony Framework ,entwickler.press 2008, ISBN 3-939084-14-X , German
  • Fabien Potencier: Practical symfony 1.2 for Doctrine, 2009, ISBN 978-2-918390-06-0 , English
  • Fabien Potencier: Practical symfony 1.2 for Propel, 2009, ISBN 978-2-918390-07-7 , English
  • Fabien Potencier: The symfony 1.2 Reference Guide, 2009, ISBN 978-2-918390-05-3 , English
  • 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: Symfony 1.3 Web Application Development. 1st edition. Packt Publishing Ltd., Birmingham September 24, 2009, ISBN 1-84719-456-7 , p. 228. (English)

Web links

Commons : Symfony  - collection of images, videos and audio files

Individual evidence

  1. Release 5.1.3 . July 24, 2020 (accessed July 24, 2020).
  2. The symfony Open Source Project on Open Hub: Languages Page . In: Open Hub . (accessed on July 18, 2018).
  3. The symfony Open Source Project on Open Hub: Licenses Page . In: Open Hub . (accessed on July 18, 2018).
  4. Fabien Potencier: What is Symfony2? Retrieved June 5, 2012 .
  5. symfony-project.org: Symfony versions. Download and Install. Retrieved November 2, 2011 .
  6. symfony-project.org/blog: Why will Symfony 2.0 finally use PHP 5.3? Retrieved November 2, 2011 .
  7. a b getcomposer.org: Composer. Retrieved July 24, 2012 .
  8. a b symfony.com: The Release Process. Retrieved February 2, 2016 .
  9. Fabien Potencier: Symfony 3.0: The roadmap. Retrieved October 17, 2015 .
  10. Fabien Potencier: Symfony 3.1.0 released. Retrieved July 1, 2016 .
  11. Fabien Potencier: Symfony2 meets Drupal 8. Retrieved on August 28, 2013 .
  12. eZ Systems / Jérôme Vieilledent: eZ Publish 5 from a technical point of view. Retrieved June 24, 2013 .
  13. Fabien Potencier: Silex - The PHP micro-framework based on the Symfony2 Components. Retrieved February 14, 2014 .
  14. phpBB.com: phpBB 3.1 Ascraeus - Developers - Symfony Components. Retrieved October 26, 2014 .
  15. Leo Feyer: Contao 4.0.0-beta1 available. Retrieved November 25, 2015 .
  16. a b c basecom.de: SensioLabs partner. (No longer available online.) Archived from the original on February 22, 2016 ; accessed on February 22, 2016 . Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / www.basecom.de
  17. OroCRM (Projects using Symfony). Retrieved May 29, 2016 .
  18. SensioLabs: Pimcore (Projects using Symfony). Retrieved January 24, 2018 .
  19. Sylius: Built On The Shoulders Of Giants open source. Retrieved January 2, 2020 .
  20. ^ Zikula homepage. Retrieved February 3, 2020 .