Symfony is samen met Laravel een van de meest gebruikte PHP-frameworks (web applicatie framework). Symfony is erg flexibel en betrouwbaar, wat ideaal is voor de ontwikkeling van grote en complexe webapplicaties. In 2005 is Symfony voor het eerst gereleased en sinds dat moment heeft het een flinke ontwikkeling doorgemaakt, om uit te te groeien tot het vertrouwde PHP framework wat het nu is. Daarnaast worden tal van Symfony componenten gebruikt door andere PHP frameworks zoals bijv. Laravel, Magento en Drupal.
Het Symfony PHP Framework
Symfony is een verzameling van herbruikbare PHP componenten, waarmee op een gestructureerde wijze een PHP applicatie gebouwd kan worden. Symfony helpt ook met het bouwen van front-end dependencies zoals TypeScript, JavaScript, stylesheets, afbeeldingen en andere bestanden. Hiervoor kan Symfony Webpack Encore gebruikt worden, waardoor met slechts een aantal regels configuratie een complexe webpack configuratie gemaakt kan worden.
Symfony heeft als filosofie om best practices en standaardisatie na te streven en kan gebruikt worden als zeer compleet open source PHP-framework. Symfony biedt PHP developers de mogelijkheid om componenten te kiezen welke handig in te zetten zijn of welke nodig zijn om een specifieke uitdaging op te lossen. Deze componenten worden onderhouden door de maintainers. Deze bestaat uit een grote groep ervaren ontwikkelaars, welke het PHP framework Symfony onderhouden. Daarnaast kunnen contributors vanuit de PHP community ook ontwikkelen aan het Symfony framework, waardoor het project altijd in beweging staat en regelmatig geüpdatet wordt. Om dit goed te kunnen borgen, heeft Symfony een heel inzichtelijk release pad, waardoor iedere PHP Symfony developer ruim van te voren weet welke onderdelen worden toegevoegd en, op termijn, worden aangepast (o.a. middels de Backward Compatibility Promise). Hierdoor is de onderhoudbaarheid van
het framework op de lange termijn van hoog niveau.
Daarnaast heeft Symfony de andere non-functionals Performance en Security hoog in het vaandel. Performance verbeteringen worden continue doorgevoerd en er wordt actief gemonitord of toevoegingen of wijzigingen niet voor performance degradatie zorgen.
Eventuele security vulnerabilities worden zeer snel gefixed, maar belangrijker, al in de design fase van een (toevoeging aan een) component vormt security een integraal onderdeel van de development. Hierdoor worden er dan ook relatief weinig vulnerabilities gevonden.
De kwaliteit van Symfony
Om een stabiele applicatie te garanderen, is het van belang dat alle code uitvoerig wordt getest. Symfony zet hoog in op kwaliteit van de eigen software, maar biedt daarnaast ook verschillende tools om een applicatie op verschillende manieren te testen. Denk hierbij aan
security tests (CVE vulnerabilities), integratietests en unittest integratie voor bijna alle componenten.
Naast de kwaliteit van het framework zelf, biedt het Symfony framework goede begeleiding aan de gebruikers ervan. Zo wordt er lang (minimaal 4 jaar na release) support geboden op zogenaamde ‘’Long Term Support versies (LTS)’’. Het upgraden naar nieuwere versies van het Symfony Framework is overzichtelijk, doordat het een heel robuuste backwards compatibility breaking changes belofte heeft. Hierbij worden alleen bij major releases, breaking changes doorgevoerd. Al bij voorgaande versies worden de PHP developers hierop
gewezen met behulp van deprecation warnings.
Ibuildings & PHP Framework Symfony
Ruim 20 jaar geleden heeft Ibuildings PHP toegevoegd als vast onderdeel van onze moderne software stack en door de jaren heen hebben wij ons ontwikkeld als ware PHP specialisten. PHP en in het bijzonder Symfony hebben we voor tal van onze klanten ingezet voor het ontwikkelen van uitdagende en complexe weboplossingen.
Een van deze klanten is bijvoorbeeld SURF, waar we een applicatieplatform gebouwd hebben waar second factor authentication mogelijk is. Dit platform bestaat uit verschillende applicaties die elk een eigen doel ontsluit. Een van deze applicaties consumeert een API en heeft een eenvoudig user interface. Hiervoor gebruiken we een aantal Symfony componenten, zoals: Monolog, Security, Form, Translation, Webpack Encore.
Daarnaast worden ook kleinere command line tools ingezet, om intuïtieve console applicaties te bouwen. Om onze quality assurance tools te delen met de community, gebruiken wij een Symfony Flex Recipe. Dit zetten we in om deze tools gemakkelijk te ontsluiten in onze eigen projecten, maar ook andere developers buiten onze organisatie kunnen hier gebruik van maken. Meer weten over wat wij kunnen betekenen voor u op het gebied van PHP en applicatieontwikkeling? Neem contact met ons op!