Symfony Components, de bouwblokken van de toekomst!

kennisbank, Symfony, PHP, Webontwikkeling

Gepubliceerd: 10.09.2020

Symfony Components zijn losse PHP-bibliotheken die te gebruiken zijn voor meerdere applicaties. Deze Componenten zijn zo goed geschreven dat ze het fundament zijn geworden waarop de beste PHP-applicaties gebouwd kunnen worden. Deze componenten kunnen geïnstalleerd worden met composer. Composer is een dependency manager voor PHP. Dit is de beste manier om al je dependencies bij te houden.


Eerder hebben we een artikel uitgebracht over Symfony, hierin werd verwezen naar de Symfony Components. In dit artikel zal ik hier meer over gaan vertellen.


De Symfony Components zijn een aantal losse herbruikbare PHP-bibliotheken. Deze Componenten zitten zo goed in elkaar, dat ze het fundament zijn geworden waarop de beste PHP-applicaties gebouwd kunnen worden.


De Symfony Componenten kunnen geïnstalleerd worden via Composer.


Composer is een dependency manager voor PHP. Composer regelt voor jouw alle dependancies in je project. Hij haalt netjes voor jouw alle componenten binnen die je nodig hebt voor jou project en alle bibliotheken waarvan dat component afhankelijk is.


Package management is een bekend concept en veel van composer is geinspireerd van npm van Node.js en bundler van Ruby


Nu zijn er echter te veel Componenten om ze allemaal te behandelen, daarom hebben we de volgende uitgekozen: Asset, Config, Routing, Webpack Encore.


Asset Component

$ composer require symfony/asset

Het Asset component regelt zaken rondom het maken van URL’s en versies van je zogenaamde ‘assets’, zoals je CSS en je JavaScript files.


Vroeger werden de assets in een webpagina er vaak op de volgende manier ingezet:

link rel=”stylesheet” type=”text/css” href=”/css/main.css”

Deze manier van aanpak is eigenlijk alleen nog aan te raden bij kleine applicaties, de URL’s hardcoden kan al snel leiden tot irritaties en problemen.


Je moet bijvoorbeeld voor elke asset het hele pad uittypen. Met het Asset component kan je assets in één package stoppen en die verspreiden. Bij het verplaatsen van een asset moet je alle links aan gaan passen en goed opletten dat je er geen vergeten bent. In het Asset component kun je makkelijk de locatie aanpassen door de path van de package te wijzigen.


Config Component

$ composer require symfony/error-config

Het Config component laat je bestanden van allerlei filetypes zoeken, laden combineren en valideren.


Vaak als je een PHP project hebt waarmee je met meerdere services moet werken, kan het lastig zijn om met al deze verschillende soorten configuratie files bezig te zijn. Met het Config component in Symfony wordt dit een stuk makkelijker en bespaart het je veel tijd.


Routing Component

$ composer require symfony/error-config

Het Routing component in Symfony is misschien wel de mooiste die er is. Het zorgt ervoor dat er aan de hand vaan een URL, bijvoorbeeld: /profiel/wijzigen/, een actie in de Controller (van het MVC model) kan uitvoeren. Dit betekent dat je ook SEO-friendly URL’s kan maken.


De URL wordt boven de method aangegeven, ook wordt er een naam aangegeven zodat je hem ook nog kunt gebruiken in twig files.


Met dit component kun je ook de HTTP method aangeven zodat de URL daar naar luistert. Als je niks aangeeft dan zal de URL luisteren naar welk HTTP method dan ook (GET , POST, PUT, etc.)


Hiernaast zijn er nog vele andere mooie functies in dit component, zoals het genereren van URL’s, het uitgebreid en slim werken met parameters en sub-domain routing.


Webpack Encore

$ composer require symfony/webpack-encore

Webpack Encore is een makkelijkere manier om Webpack in je applicatie te krijgen, hiermee kun je door middel van een API je JavaScript modules bundelen, je CSS en JS files compileren en minify-en.


In je webpack.config.js file doe je de configuratie voor Webpack en Webpack Encore.


In de console kun je na het configureren van je files commando’s uitvoeren om assets op te bouwen. Voor de development omgeving run je dan het commando:

$ yarn encore dev

Dit gaat dan de files bouwen en op een leesbare manier gebruiken, dit maakt het makkelijk om je code te debuggen in de Dev Tools in de browser.


Voor de productie omgeving kun je dan dit commando gebruiken:

$ yarn encore prod

Hiermee worden alle files geoptimaliseerd en geminify-ed om zo goed mogelijk te werken op de live applicatie.

Lees hier onze blogs!

Breid je kennis uit met de 4BIS Blog...

WordPress en Plugins – Een wereld die voor je open gaat!

WordPress, Webontwikkeling, Ecommerce / Webshop, kennisbank, WooCommerce

Met plugins kan je functionaliteit van wordpress uitbreiden of geheel nieuwe functies aan wordpress toevoegen. Plugins kan je zelf maken, mits je verstand hebt van php, of je kan ze downloaden.

Lees meer

Onthulling van Tech-Nieuws.nl: Waar Innovatie Samenkomt met Vindingrijkheid

SEO / SEA, Software-modernisering, Webontwikkeling, PHP, Symfony, Digitale Marketing

In het bruisende rijk van technologie is up-to-date blijven niet alleen een noodzaak maar een levensstijl geworden. Met een overvloed aan informatie die ons dagelijks overspoelt, wordt een betrouwbare bron om het laatste technieuws te selecteren en te...

Lees meer

HR software: Zo automatiseer je Human Resource Management

Bedrijfssoftware, Software-modernisering, Webontwikkeling, Automatisering

HRM, ook wel Human Resource Management, is een belangrijk onderdeel voor ieder bedrijf. Vooral als je veel werknemers hebt, is een HR afdeling niet te missen. Het is echter niet nodig om een enorme HR afdeling te hebben. Veel is te automatiseren door...

Lees meer

En wat kunnen we voor jou betekenen?_

Wil je meer weten of heb je interesse? Neem dan gerust direct contact met ons op, per telefoon of via de mail.
Of maak gebruik van één van onze contactformulieren zodat we je zo snel en gepast mogelijk antwoord kunnen geven. We horen graag van je!

back to top