Symfony Components, de bouwblokken van de toekomst!

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.
updated: Sep 10, 2020 at 12:16PM | published: Sep 10, 2020

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

BASH

$ 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:

HTML

<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

BASH

$ 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

BASH

$ 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. Het ziet er dan zo uit:

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

BASH

$ 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. Zo ziet een stukje uit de deze file eruit.

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:

BASH

$ 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:

BASH

$ yarn encore prod

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

Tags: 4BIS

Deel 4 van de React Hooks serie useMemo & useCallback

Deel 4 van de React Hooks serie useMemo & useCallback

Deel 4 van de ReactHooks serie! We gaan het hebben over useCallback en over useMemo. Met deze hooks kunnen we waardes of callback memoizen dit kan nuttig zijn bij zware operaties of om te zorgen dat bepaalde componenten niet altijd mee rerenderen. Zeker omdat bij kleine applicatie het vaak efficienter is om niet te optimaliseren dan wel.

Lees meer
Redux de Intro!

Redux de Intro!

Deze week een korte introductie van de 4 basisbegrippen die je nodig hebt om Redux te begrijpen. We gaan kort uitleggen hoe state wordt aangepast in een Redux Store met behulp van Reducers en Actions. En we vertellen wat al deze begrippen doen en hoe ze werken in een Redux applicatie.

Lees meer

Software ontwikkeling op maat

Hoe werkt het?

Wat wonderen doet voor het ene bedrijf kan zinloos zijn voor een ander bedrijf. Daarom hebben we oplossingen op maat die het unieke karakter van jouw bedrijf respecteren. We werken in een positieve spiraal van testen, monitoren en verzamelen gegevens om precies te weten te komen wat voor jou werkt en wat niet. Het is onze ‘whole package’-mindset, een aandacht voor details die ons in staat stelt om elke keer jouw prestatiedoelstellingen te bereiken. Dus ontspan en geniet van de rit!