Symfony

In een notendop
Symfony is een open-source webapplicatie framework geschreven in de programmeertaal PHP.
Eerste release: 18 oktober 2005
Ontwikkeld door: Fabien Potencier (SensioLabs)
Programmeertalen: o.a. PHP, HTML, CSS, JavaScript
Integraties: o.a. MySQL, PostgreSQL, SQLite en Oracle
Voorbeeld applicaties:scroll naar ↓
Officiële website:Symfony.com
Wat is Symfony?
Symfony is een open-source PHP framework voor het bouwen van geavanceerde webapplicaties, API’s en middleware. Een framework kun je zien als het skelet van een applicatie. Het is de taak van ontwikkelaars om daar iets moois omheen te bouwen. Om ze daarbij te helpen biedt Symfony ook een rijke verzameling aan PHP-componenten.

Op 18 oktober 2005 werd de eerste versie van Symfony (soms verkeerd geschreven als Symphony) uitgebracht door het Franse bedrijf SensioLabs. Geïnspireerd door het Spring-Framework is het doel van Symfony altijd geweest om het ontwikkelproces van webapplicaties te versnellen. Daardoor is het framework goed geschikt voor het maken van complexe bedrijfskritische webapplicaties. Inmiddels zijn er dan ook duizenden Symfony-applicaties gerealiseerd die bedrijven helpen in hun digitale transformatie. In november 2019 werd versie 5 van Symfony gelanceerd.
”Symfony heeft een grote gemeenschap aan bedrijven en developers opgebouwd die de beschikbare code gebruiken en verbeteren.”
Waarom een framework?
Een framework als Symfony is als een bouwmarkt. Je hebt voorgebouwde onderdelen zoals planken en scharnieren – gemaakt door mensen die goed zijn in hout- en metaalbewerking. Je moet zelf de onderdelen uitzoeken, uitmeten en in elkaar zetten. De kwaliteit van het eindproduct is dus ook afhankelijk van de materialen die je kiest en de vaardigheid van de klusser. Aangezien je veel zelf in de hand hebt, heb je veel keuze- en uitbreidingsvrijheid.
Wanneer je werkt zonder framework (vanilla PHP), is het alsof je werkt in een hout- en metaalwerkplaats. Je hebt alleen ruwe materialen en gereedschap. Je moet dus zelf planken zagen uit een boom en scharnieren maken door metaal te smeden. Dat is veel meer werk en je moet wel heel goed zijn, wil je dezelfde kwaliteit leveren als de bouwmarkt. De keuze voor een framework als Symfony is daarom snel gemaakt.
Voordelen van Symfony
Het Symfony-framework biedt meerdere voordelen in de ontwikkeling van webapplicaties en apps.

1. Snelle ontwikkeling
Het hoofddoel van Symfony is om het ontwikkelproces te versnellen. Dit doel wordt zeker getroffen en dat is direct een van de grootste voordelen van het framework. Met Symfony boeken ontwikkelaars snelle resultaten vergeleken met vanilla PHP en andere PHP-frameworks. Het is bijvoorbeeld makkelijk om code te hergebruiken. Zo kunnen ontwikkelaars zich beter concentreren op de unieke kernfunctionaliteiten van een webapplicatie.
De beschikbaarheid van Components en Bundles versnellen het ontwikkelproces. Components zijn herbruikbare standaardfunctionaliteiten die het werk van ontwikkelaars gedeeltelijk wegnemen en ze dus sneller op weg helpen. Bundles zijn een soort Components-pakketten om een specifiek applicatie-onderdeel, zoals routing of authenticatie, te integreren in je applicatie.
Hoe snel een project kan worden opgeleverd hangt natuurlijk sterk af van de scope. In de praktijk biedt het Symfony-framework wel mogelijkheden om een minimum viable product (MVP) op te leveren in 6 tot 8 weken. Dit maakt het een interessante keuze voor bedrijven die snel een idee op de markt willen brengen en daarna willen uitbreiden.
2. Flexibiliteit
Ontwikkelaars hebben volledige controle over het framework wat de ontwikkeling van unieke functionaliteiten goed mogelijk maakt. Er zijn weinig scenario’s waarin Symfony geen passende oplossing biedt. Symfony leent zich dan ook voor zowel simpele als complexe applicaties. Dit maakt het framework naast flexibel ook zeer toekomstbestendig. Een applicatie kan meegroeien met een business.
De flexibiliteit van Symfony komt ook terug in de toegankelijkheid van het framework. Zowel nieuwe als ervaren ontwikkelaars kunnen hun ei erin kwijt. Dit maakt het een interessant framework voor teamgebaseerde projecten. Symfony maakt ontwikkelen leuk voor iedereen.
3. Snelheid en optimalisatie
Symfony gebruikt minder geheugen dan andere frameworks. Webapplicaties laten zich daardoor goed optimaliseren en blijven goed bruikbaar bij beperkte computerkracht. Dit maakt het een uitstekende keuze voor applicaties met een bedrijfskritische rol en applicaties die op uiteenlopende platformen worden gebruikt.
4. Grote community
Als open-source oplossing ligt de kracht van Symfony mede in de grote community. Als je vastloopt tijdens het coderen, is er altijd hulp te vinden van andere PHP-ontwikkelaars in de wereld. De vele forums en handleidingen helpen ontwikkelaars op weg, zodat het wiel niet altijd opnieuw uitgevonden hoeft te worden. De community draagt ook bij aan het maken en verspreiden van Bundles, wat het werken met het framework voor iedereen makkelijker maakt.
Op het moment van schrijven zijn er meer dan 2500 personen die officieel hebben bijgedragen aan de code van Symfony. Ook Linku-werknemer Timo draagt zijn steentje bij. Hij heeft in een blog beschreven waarom het bijdragen aan open source (zoals Symfony) waardevol is.
5. Goede documentatie
Buiten de kracht van de community is de officiële documentatie van Symfony ook prima. Vele frameworks en andere digitale technieken worden geplaagd door onvolledige en gedateerde documentatie. Symfony wordt daarentegen vaak geprijsd vanwege de duidelijke en goed gestructureerde informatie die op elk moment beschikbaar is. De documentatie is behapbaar, actueel en voorzien van voldoende voorbeeldmateriaal.
6. Makkelijk testen
Symfony biedt een eigen testing library om unit en functional tests te schrijven die automatisch inhaken op diverse onderdelen van het framework. Dit maakt het schrijven van tests voor Symfony-applicaties een fluitje van een cent. Daarnaast zijn er door het open karakter van het framework natuurlijk ook altijd mogelijkheden om andere testframeworks te gebruiken, zoals het veelgebruikte PHPUnit en Behat. Bij Linku maken we, afhankelijk van het project, altijd gebruik van één of een combinatie van deze drie.
7. Commerciële ondersteuning
8. Stabiel en betrouwbaar
Symfony heeft sinds 2005 een goede reputatie opgebouwd als het gaat om stabiliteit en betrouwbaarheid. SensioLabs ondersteunt nieuwe versies voor een periode tot 3 jaar en als het gaat om veiligheidszaken langer op aanvraag. Oudere versies blijven ook stabiel doordat compatibiliteit gegarandeerd blijft. Zo kun je dus uitgaan van een stabiele en veilige oplossing ongeacht de versie die je gebruikt. Ook andere platformen als Magento, Drupal en EZ Publish vertrouwen het framework en gebruiken Symfony-componenten in hun eigen frameworks.
Nadelen van Symfony
Ondanks de vele voordelen is het framework niet de beste oplossing in elke situatie. Andere populaire frameworks winnen met name op het gebied van eenvoud.
Niet de simpelste oplossing
Symfony wordt vaak tegenover het PHP-framework Laravel geplaatst. Symfony legt het in deze strijd af als het gaat om de eenvoud van ontwikkeling. Laravel is makkelijker om te leren en vereist minder bouw- en configuratietijd. Dat maakt het framework geschikt voor producten die snel opgeleverd moeten worden.
Tegenover Drupal is Symfony ook een minder eenvoudige keuze. Drupal biedt een volledig CMS waarmee je start met een aantal kernfunctionaliteiten. Deze breid je uit aan de hand van modules. Een ontwikkelaar is dus met name aan het configureren en minder aan het bouwen. Dit maakt het ook een eenvoudigere en snellere oplossing.
Voor complexe bedrijfskritische applicaties blijft Symfony wel vaak de beste oplossing. De schaalbaarheid en flexibiliteit is groter in vergelijking met Laravel en Drupal. Ook de toekomst van het framework is beter voorspelbaar dankzij de duidelijke roadmap.
Voorbeelden Symfony-applicaties
Alle casesSymfony app maken
Bij Linku zien we veel voordelen in het gebruik van Symfony bij de ontwikkeling van robuuste bedrijfskritische webapplicaties. Het framework bespaart tijd, is betrouwbaar en heeft een goed toekomstperspectief.
We hebben inmiddels dan ook veel ervaring in het ontwikkelen van webapplicaties en API’s op basis van Symfony. We combineren het framework vaak met met React Native, Ionic, Angular om tot complete oplossingen te komen.
Het werken met Symfony geeft ons bovendien plezier in ons werk!



Aan de slag met Symfony?
Wil jij een product maken op basis van Symfony? Of wil je meer weten over de mogelijkheden van deze techniek? Neem dan contact op.
Meer technieken
Ontdek andere technieken die we toepassen in het ontwikkelen van apps, webapplicaties en websites.

React Native
Open-source framework voor het ontwikkelen van apps, maar ook websites en applicaties.

Sanity
Open-source headless cms voor het ontwikkelen van websites, apps en applicaties.
API-koppelingen
Digitaliseren van informatiestromen. Met API-koppelingen laat je software met elkaar communiceren.

OpenAI
Krachtige AI voor diverse toepassingen, van tekst- en beeldgeneratie tot data-analyse.