PHP Framework
Een framework is een verzameling bestanden/bibliotheken gemaakt door developers voor developers die jouw het leven makkelijker maken. Veel dingen worden al voor jou geregeld, zodat je je kunt concentreren op wat jouw applicatie uniek maakt.
Wat is een framework
Een framework is niets anders dan een hoop bestanden/bibliotheken bij elkaar die jou het leven makkelijker maken. Bij een Framework worden heel veel dingen al voor jou geregeld. Denk hierbij bijvoorbeeld aan Bootstrap of Tailwind waarbij veel CSS code vooraf aangeleverd wordt waardoor je heel snel met een paar classes al een mooie site kan maken.
Bij PHP is dat niet anders. Wij hebben het hier over Symfony, het op een na meest gebruikte PHP framework in de hele wereld. Ongeveer 12.000 websites over de hele wereld werken met Symfony en het heeft ruim 25.000 sterren op GitHub. In vergelijking heeft Laravel 135.000 websites en 65.000 sterren. Met een aandeel van 12% over de gehele wereld is Symfony wel het op een-na meest gebruikte framework. Naast Laravel (de nummer 1) heb je ook nog Zend, CakePHP, CodeIgniter, Yii en Yii2 en nog een hoop kleinere frameworks.
Waarom dan toch Symfony en niet Laravel?
Bij Symfony wordt er minder automatisch voor je gedaan en moet je als developer meer zelf beslissen wat je wel en niet wilt gebruiken. Dit maakt het makkelijker om stap voor stap je applicatie op te zetten in plaats van dat er al heel veel voor je wordt gedaan. Om een framework goed te leren en echt te weten wat er onder de motorkap gebeurt is Symfony dus geschikter.
Wanneer je snel een applicatie wil opzetten is Laravel geschikter als is het wel weer lastiger om maatwerk te leveren, dat is in Symfony weer wat makkelijker.
Kortom: voor een wat eenvoudiger applicatie maakt het niet zo heel veel uit welke framework je gebruikt. Voor een geavanceerde enterprise applicatie met veel maatwerk is Symfony geschikter. Al duurt het met Symfony langer voordat je resultaat hebt.
Waarom een framework
Bij een framework werken heel veel mensen gezamenlijk aan het framework. Een projectgroep noemen ze dat. Er werken ongeveer 2.400 mensen wereldwijd mee aan Symfony. Daarnaast heeft een framework, naast de basis programma's en onderdelen (deze noemen we packages) ook nog third-party packages ondersteuning. Dat betekent dat als je iets wilt gebruiken, bijvoorbeeld het uploaden van een Excel bestand, dat je dat vaak ook niet zelf hoeft te maken. Er is altijd wel iemand die er al eens een package voor ontwikkeld heeft.
Hoe veilig is een framework
Omdat frameworks door heel veel mensen gebruikt worden zijn er ook heel veel mensen die het testen en proberen het stuk te maken, soms opzettelijk (hackers) en soms om het juist te testen (ethical-hackers). Als je jouw framework up-to-date houdt (draai regelmatig composer update, en houdt forums in de gaten) blijft jouw code en applicatie veilig, tenzij je zelf fouten in je code maakt natuurlijk. Vaak worden security problemen in een populair framework sneller ontdekt en ook sneller opgelost.