Symfony

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Version vom 27. April 2016, 09:24 Uhr von Kowa (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:

Korrektheit: 2
(teilweise überprüft)
Umfang: 2
(wichtige Fakten fehlen)
Quellenangaben: 3
(wichtige Quellen vorhanden)
Quellenarten: 1
(ausreichend)
Konformität: 3
(gut)

Symfony ist ein Open-Source-Framework auf PHP-Basis, das angelehnt an Ruby on Rails agile Webentwicklung ermöglicht.

Geschichte

Symfony wird seit 1995 entwickelt. Aktuell ist Version 1.1 (Stand Oktober 2008), Version 1.2 befindet sich jedoch kurz vor der Fertigstellung. Viele Teile des Frameworks werden mit zunehmender Versionszahl ausgegliedert, so ist beispielsweise im Laufe der Zeit das Forms-Framework nun eigenständig nutzbar.

Merkmale

Symfony bietet gegenüber Ruby on Rails den Vorteil, dass kein spezieller Webserver benötigt wird sondern ein "handelsüblicher" Shared-Host mit Apache, MySQL und PHP genügen um Anwendungen entwickeln zu können. Ansonsten bietet es viele der bekannten Ruby on Rails Features:

  • MVC-Prinzip (Model, View Controller)
  • volle l18N Unterstützung
  • Formularvalidierung und Generierung
  • Einfache Integration von Ajax
  • CRUD / Scaffolding

Prinzipien

Im Symfony-Framework gilt wie auch bei Ruby on Rails und anderen Rapid-Prototyping-Frameworks "Convention over Configuration" und "Don't repeat yourself", wodurch die Entwicklung von Anwendungen extrem vereinfacht und beschleunigt wird.

MVC

Das Model-View-Controller-Prinzip trennt die verschiedenen Schichten voneinander und gewährleistet so eine volle Kompatibilität und vor allem Flexibilität zueinander. Die Daten werden im Model aus der Datenbank gelesen oder geschrieben, im Controller aufbereitet und bearbeitet und im View schließlich angezeigt. Durch diese Trennung ist es beispielsweise sehr einfach möglich, den View von einem Webdesigner erstellen zu lassen der jedoch von der Programmierung im Hintergrund nichts verstehen muss und diese auch nicht zu Gesicht bekommt.

Quellen