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...

Wat is een widget?

Software-modernisering, kennisbank, React, Bedrijfssoftware

Veel mensen komen widgets tegen, maar deze zijn niet altijd duidelijk. Zoveel mensen vragen zich af: wat is een widget? Wat een widget precies is leggen wij in deze blog uit.

Lees meer

WP admin error 500 in Wordpress: 5 oplossingen

WordPress, kennisbank

De WP admin error 500 in Wordpress komt bijzonder vaak voor. De Internal Server Error met statuscode HTTP error 500 is minder makkelijk op te lossen dan andere errors, waarbij de oplossing vaak voor de hand ligt. De HTTP error 500 kan veroorzaakt worden...

Lees meer

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

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