Wanneer je aan webdevelopment denkt, komt de programmeertaal PHP al snel bij je op, na natuurlijk HTML, CSS en JavaScript.
Anders dan sommige mensen denken, is PHP zeker niet dood. Het wordt nog altijd volop gebruikt door allerlei websites, waaronder grote namen zoals Facebook en Wikipedia.
Volgens W3Techs wordt PHP zelfs gebruikt door ongeveer 79% van de websites. PHP is dan ook acht keer zo populair als ASP.NET, wat de grootste concurrent is binnen server-side programmeertalen.
Het marktaandeel van PHP is ook het laatste jaar constant gebleven.
PHP programmeurs gebruiken meestal een PHP framework om hun code op te baseren. Laten we daarom eens kijken welke PHP frameworks er zijn, waarom ze gebruikt worden, en wat de meest populaire frameworks zijn.
Wat is een PHP framework?
Een PHP framework is een platform waar je PHP webapplicaties op kan bouwen. PHP frameworks bieden bibliotheken met code met bijvoorbeeld veelgebruikte functies, waardoor je zelf minder code hoeft te schrijven.
Waarom zou je een PHP framework gebruiken?
Er zijn allerlei goede redenen om PHP frameworks te gebruiken, in plaats van helemaal vanaf nul te beginnen.
1. Snellere development
Door de ingebouwde bibliotheken en tools van PHP frameworks, heb je minder tijd nodig voor de ontwikkeling van je code.
Zo heeft het CakePHP framework bijvoorbeeld de Bake commandline-tool die snel de basiscode kan genereren die je nodig hebt voor je toepassing.
Diverse andere PHP frameworks bieden de PHPUnit bibliotheek aan waarmee je veel sneller en makkelijker kan testen.
2. Je hoeft minder code te schrijven
Door ingebouwde functies van een framework te gebruiken, hoef je zelf minder code te schrijven.
3. Bibliotheken voor veelvoorkomende taken
Veel taken die je als developer uit moet voeren binnen een web-app zijn heel normale en veelvoorkomende taken. Denk bijvoorbeeld aan het valideren van formuleren, opschonen van data, and CRUD bewerkingen (Create, Read, Update en Delete). Je kan simpelweg de ingebouwde functies van een framework voor deze taken gebruiken, in plaats van dat je hiervoor je eigen code moet schrijven.
4. De juiste coding best practices volgen
PHP frameworks volgen meestal de best practices voor programmeren. Zo verdelen ze code netjes in een aantal locaties, op basis van functie.
Hierdoor wordt je code beter en netter georganiseerd, wat onderhoud veel makkelijker maakt.
Frameworks hebben ook hun eigen regels voor het benoemen van elementen, die je natuurlijk ook moet volgen.
5. Veiliger dan zelf je apps schrijven
Er zijn allerlei bedreigingen voor PHP, waaronder cross-site scripting, SQL injectie-aanvallen, en cross-site request forgery. Tenzij je de juiste acties onderneemt om je code veilig te maken, zullen je PHP web-apps kwetsbaar zijn.
Het gebruik van een PHP framework komt niet in de plaats van het schrijven van goede en veilige code, maar het maakt de kans op exploits van hackers wel kleiner. Goede frameworks hebben ingebouwde functies voor het valideren van data en andere beveiligingen tegen veelvoorkomende dreigingen zoals hierboven genoemd.
6. Betere teamwork
Projecten met verschillende developers kunnen mislopen als er geen duidelijkheid bestaat over:
- Documentatie
- Ontwerpbeslissingen
- Standaarden voor code
Door een framework te gebruiken stel je meteen duidelijke basisregels op voor je project. Zelfs als een andere developer niet bekend is met het specifieke framework, dan kunnen ze die regels alsnog snel leren, wat de samenwerking bevordert.
7. Makkelijker om te onderhouden
PHP frameworks moedigen het hergebruik van code aan en stimuleren DRY (Don’t Repeat Yourself) development. Doordat de codebase hierdoor kleiner is, heb je ook minder onderhoud nodig.
Verder hoef je je geen zorgen te maken over het onderhouden van het framework, aangezien dit gedaan wordt door de developers.
Wat je moet weten voordat je een PHP framework gebruikt
Het eerste dat je moet kennen voor je een PHP framework gebruikt, is natuurlijk PHP zelf! Beheers je de taal nog niet goed, dan zal het lastig zijn om met een framework te beginnen. De meeste frameworks draaien op PHP versie 7.2 of later.
Heeft je PHP een opfrisbeurt nodig, lees dan deze artikelen:
- De beste PHP tutorials
- PHP 8.1 (de huidige versie)
- PHP 8.2 (de volgende versie)
Vervolgens moet je idealiter zelf wel eens eerder PHP toepassingen gebouwd hebben, zodat je weet wat er zowel aan de front-end als de back-end nodig is.
Het begrijpen van object oriented PHP is ook een must, aangezien de meeste PHP frameworks dit gebruiken. Zorg dat je bekend bent met concepten als classes, objects, inheritance, methods, traits en access modifiers.
Aangezien veel web-apps verbinding maken met een database, moet je ook basiskennis hebben over databases en SQL syntax. Elk PHP framework heeft een eigen lijst met ondersteunde databases.
Het kunnen begrijpen van een Object-Relational Mapping (ORM) model is handig. ORM is een methode om data uit een database op te halen met object oriented syntax in plaats van SQL. Hierdoor kan je je database-query’s in PHP schrijven, alhoewel er natuurlijk alsnog momenten kunnen zijn dat je liever SQL gebruikt.
Veel PHP frameworks hebben een eigen ORM ingebouwd. Zo gebruikt Laravel bijvoorbeeld het Eloquent ORM. Anderen gebruiken een open-source ORM zoals Doctrine.
Goed begrijpen hoe webservers zoals Apache en Nginx werken is ook zeker geen overbodige luxe. Je moet waarschijnlijk af en toe bestanden op de server aanpassen om je app optimaal te laten functioneren.
Je moet waarschijnlijk veel van je development lokaal doen, dus je moet ook localhost goed begrijpen. Een andere mogelijkheid is het maken en testen van je app in een virtuele omgeving via Vagrant en Virtual Box.
Model View Controller architectuur
PHP framework volgens meestal het ontwerppatroon van Model View Controller (MVC). De concept maakt een scheiding tussen het bewerken van data en het presenteren van data.
Het Model slaat de business logica en data op. Vervolgens gaat de data door naar View, de presentatie. De User werkt via de View en kan instructies geven via de Controller. De Controller geeft deze opdrachten weer door aan het Model, en zo gaat het maar door.
Kort gezegd gaat het Model om de data, de View om hoe alles eruit ziet, en de Controller om het gedrag.
Je kan het MVC patroon vergelijken met het bestellen van een cocktail in de bar.
De User is de klant die de bar (de View) in komt en graag een drankje wil. De User geeft een bestelling door aan degene achter de bar (de Controller).
De Controller maakt de bestelling klaar op basis van het Model: het recept, de ingrediënten en eventuele spullen. Afhankelijk van de cocktail gebruikt deze persoon dan bijvoorbeeld de volgende items
- Alcohol
- Fruitsap
- IJs
- Citroen
- Glas
- Cocktail shaker
- Olijf
- Roerstokje
De samengestelde cocktail wordt op de bar gezet voor de User, die er van gaat genieten. Mocht de User nog een ander drankje willen, dan moeten ze eerst weer met de Controller communiceren. Ze mogen niet zelf naar het Model gaan en hun eigen cocktail inschenken.
In het kader van PHP toepassingen, bestaat het MCV bijvoorbeeld uit:
- Model: een database
- View: een HTML pagina of pagina’s
- Controller: functies om de database te beheren
Bij het gebruiken van een PHP framework helpt het zeker als je met vertrouwen een commandline-interface (CLI) kan gebruiken. Laravel heeft een eigen CLI, Artisan Console. Door het commando ‘make’ te gebruiken binnen Artisan kan je snel modellen en controllers bouwen, of andere componenten voor je project.
Bekendheid met de commandline is ook belangrijk bij het gebruiken van de Composer PHP package manager. Het Yii Framework is één van de vele frameworks die Composer gebruiken voor het installeren en beheren van dependency’s, pakketten die een toepassing nodig heeft om te kunnen draaien.
Packagist is de belangrijke opslag van packages die je kan installeren met Composer. Een aantal van de meest populaire Composer pakketten draait op het Symfony framework.
Waar moet je op letten bij een PHP framework?
Hier zijn een aantal factoren waar je op moet letten bij het kiezen van het beste PHP framework voor jouw project.
Ten eerste, als je een PHP framework nog niet eerder gebruikt hebt, moet de leercurve niet te steil zijn. Je wilt immers niet hopen tijd moeten investeren in een framework dat te ingewikkeld is.
Verder wil je een framework dat eenvoudig te gebruiken is en je vooral tijd bespaart.
Een PHP framework moet voldoen aan de technische eisen voor een project. De meeste frameworks hebben een minimum PHP versie en bepaalde PHP extensies waar ze mee werken. Let erop dat het framework je gewenste database(s) ondersteunt, en dat je het framework ook kan gebruiken met de webserver waar je het op wilt uitrollen.
Kies een framework met een goede balans qua features. Een framework met enorm veel features kan echt een zegen zijn voor sommige projecten. Maar als je niet veel features nodig hebt, kun je beter een minimalistisch framework kiezen.
Enkele belangrijke features die een framework moet bieden zijn:
- Testing
- Cache opslag
- Templating engine: een manier om PHP te verwerken binnen HTML, door middel van een PHP class.
- Beveiliging.
Als je een toepassing gaat bouwen die schaalbaar is, moet je een framework kiezen die dit ook ondersteunt.
Als laatste zijn goede documentatie en ondersteuning belangrijk zodat je alles uit je PHP framework kan halen dat erin zit. Een framework met een grote en actieve community van programmeurs overleeft meestal ook langer en betekent meer hulp als je een uitdaging tegenkomt.
Wat zijn de beste PHP frameworks in 2024?
Het is lastig om “de lijst” met PHP frameworks samen te stellen. Wikipedia noemt bijvoorbeeld 40 PHP frameworks, maar sommigen daarvan kan je beter zien als Content Management Systems. Aan de andere kant zijn er waarschijnlijk nog heel veel frameworks die nog niet op die lijst staan.
Vroege PHP frameworks zijn onder meer PHPlib, Horde en Pear. De meeste grote namen zijn in 2005 of later gelanceerd.
Hier zijn enkele van de beste PHP frameworks die vandaag de dag nog gebruikt worden.
Laravel
Laravel wordt wel het “PHP Framework for web artisans” genoemd. Het is ontwikkeld door Taylor Otwell, die een framework nastreefde met elementen die CodeIgniter niet had, zoals het verifiëren van gebruikers.
Belangrijkste gegevens:
Gelanceerd: juni 2011
Huidige versie: 8, uitgebracht op 8 september 2020.
Technische eisen:
- PHP >= 7.2.5 (of gebruik Laravel Homestead)
- Geïnstalleerde composer
- Database ondersteuning voor MySQL 5.6+, PostgreSQL 9.4+, SQLite 3.8.8+, SQL Server 2017+.
Voordelen van Laravel
Je kan snel en simpel starten met Laravel Homestead, een virtuele development-omgeving waarin alles al voor je gedaan is.
Laravel Homestead is een officieel voorverpakt pakket van Vagrant, dat je een mooie development-omgeving biedt zonder dat je zelf PHP, een webserver of andere software op je lokale computer moet installeren. Je hoeft je dus geen zorgen meer te maken over problemen met je besturingssysteem!
Als je een Mac gebruikt, dan kan je ook kiezen voor Laravel Valet als development-omgeving. Toevallig ondersteunt Laravel Valet Symfony, CakePHP 3, Slim, en Zend – naast WordPress.
Laravel gebruikt een templating engine met de naam Blade. Eén voordeel daarvan boven andere templating engines is dat je PHP binnen Blade kan gebruiken, wat bij anderen niet kan.
Packalyst, een verzameling van Laravel pakketten, biedt meer dan 15.000 packages die je zo in je projecten kan gebruiken.
Laravel biedt allerlei beveiligingsfuncties en -methoden, voor onder meer:
- Authenticatie
- Autorisatie
- E-mailverificatie
- Encryptie
- Hashing
- Wachtwoord reset
Laravel’s Eloquent ORM en Fluent Query Builder beschermen tegen aanvallen via SQL injectie doordat ze PDO parameter binding gebruiken. Cross-Site Request Forgery (CSRF) bescherming is standaard ingeschakeld, waarbij een verborgen CSRF formuliertoken wordt gebruikt.
De Artisan Console commandline-tool die Laravel gebruikt, zorgt dat je development sneller wordt omdat je als developer herhalende taken kan automatiseren, en zo eenvoudig basiscode kan genereren.
Bij een PHP benchmarktest bleek Laravel het snelste PHP framework binnen de test.
Het Laravel ecosysteem heeft diverse handige tools, zoals Mix voor het compileren van CSS en JS assets, en Socialite voor OAuth verificatie.
Laravel heeft ook de voordelen van een grote community van developers (net als WordPress). Je kan hen vinden bij:
- Laracasts: een leerportaal met cursussen, blogs, een podcast en een forum.
- Laravel.io: een community portal met meer dan 45.000 gebruikers.
- The Laravel subreddit: hier vind je zo’n 50.000 Laravel artisans.
Wie gebruikt Laravel?
- Vogue archive – mode
- Ascot – race
- Camping World RV & Outdoors – retail
- Restaurants.com – zoekmachine voor restaurants
- Barchart – aandelen
- Visit Maine – toerisme
- Fischer Homes – bouw
- Explore Georgia – toerisme
Symfony
Symfony is zowel een PHP framework als een verzameling PHP componenten voor het bouwen van websites.
Belangrijkste gegevens:
Gelanceerd: oktober 2005
Huidige versie: 5.1.4
Technische eisen:
- PHP >= 7.2.5
- Geïnstalleerde composer
Voordelen van Symfony
Symfony is een uitstekende keuze voor websites en apps die schaalbaar moeten zijn. Door het modulaire componentensysteem is het erg flexibel en kan je de onderdelen kiezen die je voor je project nodig hebt.
Symfony ondersteunt van alle PHP frameworks de meeste databases:
- Drizzle
- MySQL
- Oracle
- PostgreSQL
- SAP Sybase SQL Anywhere
- SQLite
- SQLServer
De beste manier om je database te beheren is via het Doctrine ORM. Symfony gebruikt data mappers om objects in de database te mappen. Hierdoor blijven je object model en database schema gescheiden, waardoor je je code niet hoeft te veranderen wanneer je een kolom in je database verandert.
Het debuggen van Symfony projecten is eenvoudig met de ingebouwde toolbar.
Symfony gebruikt de Twig templating engine, die eenvoudig te leren is, en snel en veilig werkt.
Packagist noemt meer dan 4000 Symfony packages die je zo kan downloaden en gebruiken.
Symfony wordt commercieel ondersteund door Sensio Labs. Dit betekent dat ze professionele ondersteuning kunnen bieden, anders dan de andere PHP frameworks. Het heeft ook releases met langere ondersteuning, die 3 jaar volledig ondersteund blijven.
Symfony developers kunnen via verschillende kanalen trainen en hulp vragen:
- Volledige documentatie
- Sensio Labs University, het Symfony e-learning platform
- SymfonyCasts
- Symfony Certification
- Symfony conferenties
Daarnaast is de Symfony Community echt enorm, met wereldwijd meer dan 600.000 developers.
Wie gebruikt Symfony?
- Sainsbury’s Magazine – publicaties
- Intelius – zoeken naar publieke data over mensen
- Sony VAIO UK site – retail
- Sabatier Shop – retail
- Foot District – retail
- Nobelprijs voor de Vrede
Andere grote namen gebruiken Symfony componenten binnen hun projecten, zoals Drupal, Joomla en Magento.
CodeIgniter
Het CodeIgniter framework helpt je bij het snel bouwen van web-apps, doordat er relatief weinig hoeft worden geconfigureerd.
Belangrijkste gegevens:
Gelanceerd: februari 2006
Huidige versie: 4.0.3
Technische eisen:
- PHP >= 7.2
- Database ondersteuning voor MySQL, PostgreSQL, SQLite3
Voordelen van CodeIgniter
CodeIgniter staat bekend om de snelheid. Het was het één na snelste PHP framework van de vier die getest hebben in onze PHP benchmarktests.
Het framework is ook erg lichtgewicht (de download is slechts 1,2 MB), dus je hebt geen onnodige ballast. Je kan precies die componenten toevoegen die je nodig hebt.
CodeIgniter is flexibel: ze moedigen development volgens de MVC architectuur zeker aan, maar je kan ook niet-MVC toepassingen bouwen.
Het framework bevat bescherming tegen CSRF en XSS aanvallen, plus context-gevoelige escapes en een Content Security Policy.
CodeIgniter ondersteunt diverse methoden voor caching, waardoor je apps sneller worden.
Zoals eerder gemeld heeft CodeIgniter geen steile leercurve zoals sommige andere frameworks, en is het goed uit te breiden.
De gemeenschap van CodeIgniter bestaat uit een forum en een Slack groep.
Wie gebruikt CodeIgniter?
- G-Shock – retail
- WooBox – marketing
- Buffer – technologie
- TestandTrack – onderwijs
- Casio – technologie
- Bike Easy – Buitensport
- Barracuda – IT beveiliging
- FuelCMS – content management system
Zend Framework / Laminas Project
Het Zend Framework gaat al lang mee, en is momenteel aan het overgaan naar het Laminas project. Migreren naar Laminas wordt dan ook sterk aangeraden, aangezien Zend niet langer bijgewerkt wordt.
Het Laminas project bestaat uit 3 onderdelen:
- Laminas componenten en MVC
- Mezzio
- Laminas API Tools
Belangrijkste gegevens:
Gelanceerd: maart 2006
Huidige versie: 3.0.0 (Zend) of 1.3.0 (Laminas)
Technische eisen:
- PHP >= 5.6 (Zend) of >=7.3 (Laminas)
- Geïnstalleerde composer
- Database ondersteuning voor MariaDB, MySQL, Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL, SQLite, en Informix Dynamic Server.
Voordelen van Zend/Laminas
Het Zend Framework heeft momenteel meer dan 570 miljoen installaties. Het is ook het meest gebruikte PHP framework door grote bedrijven.
Zend volgt de standaarden van de PHP Framework Interop Group (PHP-FIG), waardoor je de code eenvoudig naar andere frameworks kan overzetten.
Net als bij Symfony gebruik je alleen de componenten die je nodig hebt.
Je kan Zend gebruiken om RESTful API’s te bouwen.
De Laminas community heeft een forum en een Slack groep voor samenwerkingen en ondersteuning.
Wie gebruikt Zend/Laminas?
Volgens de Zend homepagina wordt het framework door grote bedrijven gebruikt, waaronder
- BBC – media
- BNP Paribas – finance
- Cisco Webex – video conferencing
Yii (Framework)
De naam van dit framework, Yii, betekent ongeveer “simpel en evolutionair” in het Chinees. Tegelijk is het ook de afkorting voor “Yes, It Is!”
Belangrijkste gegevens:
Gelanceerd: december 2008
Huidige versie: 2.0.35
Technische eisen:
- PHP >= 5.4.0, 7+ aanbevolen
- Geïnstalleerde composer
- Database ondersteuning voor SQLite, MySQL, PostgreSQL, MSSQL, of Oracle databases
Voordelen van Yii
Binnen een paar minuten ben je aan de slag met Yii. De documentatie is goed geschreven en makkelijk te volgen.
Het Yii framework heeft diverse beveiligingsmaatregelen, zoals bcrypt password hashing, encryptie, verificatie en autorisatie. De documentatie bevat verder best practices voor het voorkomen van SQL injection, XSS en CSRF aanvallen.
De Gii code generator kan eenvoudig basiscode voor je bouwen.
Yii ondersteunt vier typen caching om web-apps sneller te maken: data caching, fragment caching, page caching, en HTTP caching.
Je kan externe code uitvoeren binnen Yii projecten.
De Yii community biedt live ondersteuning via Slack of IRC. Er is ook een forum en social media kanalen. De community beloont actieve leden met badges en vermelding in de Hall of Fame.
Wie gebruikt Yii?
- Crowdcube – crowdfunding platform
- WordCounter – Tekstverwerking
- Which? – klantenwebsite
- Purple – retail
- YMCA – nonprofit
- Pastebin – online tool
- Fast Company Events – live en virtuele evenementen
CakePHP
CakePHP biedt snelle en nette PHP development.
Belangrijkste gegevens:
Gelanceerd: april 2005
Huidige versie: 4.1.1
Technische eisen:
- PHP 7.2 (minimum), 7.4 aanbevolen
- HTTP server met mod_rewrite aanbevolen
- Database ondersteuning voor MySQL 5.6+, MariaDB 5.6+, PostgreSQL 9.4+, SQLite 3.8, SQL Server 2012+.
Voordelen van CakePHP
Configuratie is minimaal. Je hoeft niet moeilijk te doen met XML of YAML bestanden. Nadat je de database hebt opgezet kan je beginnen met programmeren.
CakePHP heeft een eigen ingebouwd ORM dat eenvoudig in het gebruik is.
Veiligheidsfuncties zijn onder meer manieren voor encryptie, password hashing, beveiligen van data uit formulieren en CSRF bescherming.
De Components en Helpers van CakePHP maken development makkelijker en verminderen het aantal suffe taken dat je moet uitvoeren.
GitHub host een handige lijst met resources en plugins voor CakePHP.
Je kan CakePHP via het ‘cookbook’ leren, oftewel de documentatie, via online trainingen, of via CakeFest conferenties.
Je vindt vriendelijke CakePHP ‘bakkers’ via hun forums, Stack Overflow, IRC en Slack. Er is ook pro ondersteuning mogelijk vanuit Cake DC, een bedrijf van de stichter van CakePHP, Larry Masters.
Wie gebruikt CakePHP?
- Visit NC – toerisme
- 10 Fast Fingers – onderwijs
- Coconala – e-learning marketplace
- GoodFirms – software marketplace
- Printivo – ecommerce
- Citizens, Inc – finance
Slim
Slim is een minimalistisch, flexibel micro PHP framework, gemaakt door Josh Lockhart. Het richt zich op het ontvangen van een HTTP verzoek, het uitvoeren van een callback, en vervolgens het terugsturen van een HTTP response.
Belangrijkste gegevens:
Gelanceerd: september 2010
Huidige versie: 4.5.0
Technische eisen:
- PHP 7.2 +
- Webserver met URL rewriting
Voordelen van Slim
De codebase van Slim is lean, aangezien er geen externe dependency’s zijn. Daardoor is het ook erg snel.
Slim is vooral handig voor het bouwen van kleine apps en API’s. Als je meer nodig hebt van het framework, dan kan je Slim integreren met zowel eigen als externe componenten.
Slim is eenvoudig te leren en te begrijpen. Je hebt in een paar minuten een “Hello World” app opgestart.
Slim wordt gezien als het beste PHP framework door developers op de Slant vergelijkingswebsite.
Er is professionele ondersteuning voor Slim beschikbaar vanuit Tidelife.
Wie gebruikt Slim?
- Top Web Comics – publicaties
- Canine Principles – training
- CG Forge – onderwijs
- Betterplace Academy – onderwijs
Phalcon
Phalcon is een PHP framework dat gebouwd is voor snelheid. Het wordt aangeboden als webserverextensie en is geschreven in Zephir en C. Je hoeft geen C te kennen. Developers werken met PHP classes en namespaces die het framework genereren.
Belangrijkste gegevens:
Gelanceerd: november 2012
Huidige versie: v5
Technische eisen:
- PSR extensie
- PHP 7.4 + (nieuwste versie aanbevolen)
Voordelen van Phalcon
Phalcon is ontwerpen voor snelheid en heeft daarom de volgende features:
- Low-level architectuur.
- Eén keer laden van Zephir, C extensies en PHP.
- De code wordt gecompileerd in plaats van geïnterpreteerd, waardoor het sneller wordt.
- Het blijft in het geheugen zitten, waardoor het sneller opgehaald kan worden indien nodig.
- Het gebruikt geen file reads en file stats, waardoor het betere prestaties biedt dan de meeste andere PHP frameworks.
Doordat Phalcon los gekoppeld is, kan je een eigen mappenstructuur maken. De code van Phalcon zit niet in de projectmap, waardoor de code lichtgewicht is.
De component voor beveiliging van Phalcon helpt met password hashing en CSRF bescherming.
De templating engine van Phalcon, Volt, is extreem snel en biedt helper classes waarmee je eenvoudig views kan maken.
Je kan ondersteuning vinden voor Phalcon via hun documentatie, forums, Discord chat, Stack Overflow, en verschillende social media.
Wie gebruikt Phalcon?
Volgens de website Phalcon BuiltWith wordt Phalcon gebruikt door:
- Learny Online – onderwijs
- Outsmart – analytics
- Marchi Auto – autohandelaar
FuelPHP
FuelPHP is een community-driven PHP framework met meer dan 300 mensen die bijdragen.
Belangrijkste gegevens:
Gelanceerd: juni 2011
Huidige versie: 1.8.2
Technische eisen:
- PHP 5.4+
- Elke webserver
Voordelen van FuelPHP
FuelPHP gebruikt MVC maar ondersteunt ook HMVC (oftewel Hierarchical Model View Controller). Dit voegt een extra laag toe tussen de Controller en de View. De voordelen van HMVC ontwerp zijn:
- Betere organisatie van de code
- Meer modulair
- Beter uit te breiden
- Bevorderd hergebruik van code
Je kan de structuur voor bestanden en mappen kiezen voor je project, aangezien er weinig beperkingen zijn. FuelPHP neemt veiligheid erg serieus, door middel van de volgende features:
- Output encoding
- CSRF bescherming
- Input, URI, en XSS filtering
- Escapes van input van gebruikers in SQL statements
FuelPHP heeft een eigen commandline-utility, oil, waarmee je taken kan uitvoeren, code kan debuggen, en vaker voorkomende componenten kan maken.
De FuelPHP ORM is sterk maar toch lichtgewicht.
Je kan de FuelPHP community vinden op hun forums of op Facebook en Twitter.
Wie gebruikt Fuel PHP?
- Wan Wizard – Harro Verton, één van de ontwikkelaars van FuelPHP
- Front Desk – vastgoedbeheer
Fat-Free Framework
Net als Slim is het Fat-Free Framework (F3) een micro-framework. Het probeert een balans te vinden tussen handige functies, eenvoud, gebruiksgemak en snelheid.
Belangrijkste gegevens:
Gelanceerd: 2009
Huidige versie 3.7.2
Technische eisen:
- PHP 5.4+
- Elke webserver
- Database ondersteuning voor MySQL, SQLite, MSSQL/Sybase, PostgreSQL, en MongoDB.
Voordelen van Fat-Free Framework
De codebase is ongeveer 65 Kb, dus het is razendsnel. Toch heeft F4 alle functies die je zou verwachten. Je kan verder uitbreiden met optionele plugins, afhankelijk van wat je nodig hebt.
Het is erg makkelijk om met Fat-Free Framework te beginnen. Je hoeft geen Composer, curl of een dependency injector te gebruiken om te beginnen. Je hebt in een paar minuten een “Hello World” app opgestart.
Bijna het hele framework is modulair, dus je gebruikt alleen die componenten die je nodig hebt voor je website. F3 voegt standaard geen code toe die je niet nodig hebt, waardoor je apps zo licht mogelijk blijven.
De documentatie is helder en makkelijk te volgen, met allerlei voorbeelden. Fat-Free Framework biedt je ook keuze qua template engine: je kan PHP, F3’s eigen template engine of een anders zoals Smarty of Twig gebruiken.
F3 developers zijn te vinden op de Fat-Free Framework Google Group.
Wie gebruikt Fat-Free Framework?
- Malwarebytes Jobs – recruitment
- Eve University Dev Pathfinder – gaming
- Andiamo – recruitment
- Baker Online – retail
- Eloquens – business
- PC Specs – technologie
Wat is het beste PHP framework voor beginners?
De beste frameworks voor beginners zijn frameworks die eenvoudig en lean zijn. Als je daar eenmaal mee overweg kan, ben je klaar om door te gaan naar een framework met meer features (indien nodig).
Yii zou mijn eerste keuze zijn als PHP framework voor beginners. De documentatie van Yii legt uit hoe je een app kan maken om landen weer te geven, waarbij je ondertussen over de MVC structuur en databases leert.
Maak je toch een fout, dan is dat makkelijk te vinden, waardoor je snel kan debuggen.
Het Slim framework is snel en eenvoudig om te installeren. Slim heeft een tutorial voor een First Application bij versie 3 van het framework. Deze is helaas niet bijgewerkt voor Slim versie 4, de huidige versie.
Voor Fat-Free Framework heb je de keuze om via de Composer te installeren, of gewoon een zip bestand te downloaden en uit te pakken. Het framework staat al klaar met een eenvoudig ‘Hello, world’ programma.
De gebruikersgids legt stapsgewijs alles uit wat je moet weten, van routing tot unit testing. Er is ook een CMS demo als je wil zien hoe alles samenwerkt.
CodeIgniter heeft ook een vrij eenvoudige start, met goede documentatie. Met hun First Application tutorial bouw je een eenvoudig CMS met CRUD functies, voor nieuwsberichten.
Samenvatting
Als je minder tijd kwijt wilt zijn aan het ontwikkelen van je PHP webtoepassingen, is het een goed idee om een framework te gebruiken.
Om alles uit een PHP framework te halen en frustratie te voorkomen, moet je eerst zorgen dat je PHP al goed begrijpt, en ook de onderliggende concepten van frameworks: MVC architectuur, objectgeoriënteerde syntax, databases en ORM’s, en de opdrachtregel.
Welk framework je het beste kan kiezen hangt af van de app die je wil bouwen. Er zijn PHP framework in alle smaken te vinden, van ultra-minimalistisch tot elke functie die je kan bedenken. Hopelijk heeft dit artikel je geholpen bij het vinden van het juiste PHP framework voor jou.
En nu jij weer: wat is je favoriete PHP framework en waarom? Laat het ons weten in de reacties hieronder.
Laat een reactie achter