Werken met PHP Frameworks

In dit artikel wil ik het hebben over PHP Frameworks maar voordat ik me hier verder over ga uitweiden zal ik eerst kort vertellen hoe ik hiertoe gekomen ben.

Begin 2017 besloot ik om mijzelf het programmeren aan te gaan leren. Mijn voorkeur was al meteen PHP. Dit kwam omdat ik al jaren websites maakte met WordPress. Dit content management systeem leunt stevig op PHP. Ook al heeft veel mogelijkheden maar op een gegeven moment liep ik toch tegen een hoop beperkingen aan. De hoogste tijd om PHP te gaan leren.

Ik heb diverse cursussen PHP gedaan, het eerst ben ik begonnen met procedurele PHP, hierna ben ik Object georiënteerd programmeren gaan doen en na hier een aantal cursussen van te hebben gevolgd heb ik tot slot een aantal cursussen PDO gedaan. PDO staat voor PHP Data Objects, wat deze termen inhouden zal ik later misschien nog eens uitleggen.

Waarom werken met een framework?
De meningen over PHP zijn verdeeld maar je kan wel stellen dat PHP een zeer populaire scripttaal is. Het is gemakkelijk in gebruik en het is ook flexibel. Maar zoals het is met veel programmeertalen kan het coderen door het vele herhalen wel saai worden ook samenwerken aan een project is lastig. Dan is het werken met een framework een uitkomst.

Wat is een PHP Framework eigenlijk?
Het systeem van een php framework wordt ook wel een Model View Controller (MVC) systeem genoemd. Bekijk de onderstaande afbeelding die ik van Wikipedia geleend heb:

Model: Verwijst naar de data die zich over het algemeen in een database bevindt.
View: Is de laag die de bezoeker van de webapplicatie ziet en gebruikt.
Controller: Dit is de eigenlijke applicatie die zowel de view en model controleert.

Een voorbeeld, de bezoeker van een applicatie meld zich aan. Hij/zij ziet de View en vult zijn gegevens in en klikt op aanmelden. De Controller valideert de gegevens en zorgt ervoor dat de gegevens naar de Model oftewel de database wordt gestuurd zodat de data daar kan worden opgeslagen en de view update zodat de gebruiker kan inloggen.

Model: Verwijst naar de data die zich over het algemeen in een database bevindt.
View: Is de laag die de bezoeker van de webapplicatie ziet en gebruikt.
Controller: Dit is de eigenlijke applicatie die zowel de view en model controleert.

Een voorbeeld, de bezoeker van een applicatie meld zich aan. Hij/zij ziet de View en vult zijn gegevens in en klikt op aanmelden. De Controller valideert de gegevens en zorgt ervoor dat de gegevens naar de Model oftewel de database wordt gestuurd zodat de data daar kan worden opgeslagen en de view update zodat de gebruiker kan inloggen.

Tot zover een simpele beschrijving over de werking van een PHP Framework.

Welke PHP Frameworks zijn er?
Er zijn veel PHP Frameworks, die allemaal hun voor en nadelen hebben. Zelf heb ik ervaring met drie Frameworks.

Laravel is relatief nieuw maar heeft zich in korte tijd opgewerkt tot het populairste framework onder ontwikkelaars. Zelf vind ik het een goed systeem om mee te werken echter de uitgave van nieuwe versies gaat zo snel dat je de ontwikkelingen echt moet bijhouden want voordat je het weet loop je achter.

CodeIgniter bestaat al zo’n twaalf jaar, het is een licht systeem met veel mogelijkheden, bovendien hoef je bij Codeigniter niet per se te houden aan het MVC ontwikkelingspatroon alleen de Controller class is verplicht maar Model en View zijn optioneel.

Yii2 hier ben ik pas mee begonnen het is een framework dat puur object georiënteerd is. Het maakt gebruik van de lazy loading technique en heeft het een concept van jezelf niet herhalen wat het een zeer snel framework maakt. Zoals vermeld ben ik zelf bezig om met dit framework te werken en ik zal later mijn ervaringen delen.
Er zijn nog veel meer frameworks die allemaal hun voor- en nadelen hebben. PHP is niet de enige scripttaal die met framworks werkt.

Heb jij ervaringen met frameworks, heb je er misschien een mooi project mee gebouwd? Laat het weten, ik ben benieuwd.

Geef een reactie