Vanaf de laatste vakantie ben ik steeds meer, en ook steeds professioneler bezig met PHP. Het gaat er wel heel anders aan toe dan dat ik verwacht had, hoe meer je met PHP bezig bent, des te minder dat je helemaal van de basis af programmeert. In plaats daarvan ga je meer gebruikmaken van Frameworks.

Nou, wat is het idee achter een Framework? Het idee achter een Framework is dat je steeds dezelfde dingen programmeert, maar met een beetje maatwerk erin. En als dat het geval is, waarom zou je dan steeds hetzelfde programmeren? Frameworks doen dat voor jou: De Frameworks kunnen van alles doen, en jij bent er om ze te vertellen wat ze moeten doen.

Wat voor voordelen heeft een Framework dan zoal?

Een Framework ten eerste ontzettend tijdbesparend. En nee, daarmee bedoel ik niet dat je op een groot project een paar uurtjes minder besteed, daarmee bedoel ik dat je nog niet eens een kwart van de tijd bezig bent. Geloof me, de tijd om een Framework te leren heb je in één klein project al gelijk weer ingehaald.

Ook bevordert een Framework het mooier programmeren. De meeste moderne Frameworks gebruiken het MVC-pattern. Deze zorgt ervoor dat je je code mooi opdeelt. Ik zal een korte uitleg over het MVC-pattern geven:

De model (M) doet eigenlijk het echte werk, de bedoeling is dat alleen de model query’s op de database uitvoert, naar bestanden schrijft en het echte rekenwerk doet. De model wordt helaas toch wel vaak in het MVC-pattern. De controller (C, Zie beneden) dient dan als controller en model.

De view (V) is eigenlijk het HTML bestand. Deze mag dus al helemaal geen query’s uitvoeren, of naar bestanden schrijven, of rekenwerk doen. Nee, het is puur het grafische, met wat PHP variabelen of template-parser variabelen. Wil je toch iets anders hebben in je views? Heel simpel, zorg ervoor dat je PHP functies van je controller of model in je views kan gebruiken. Nee, dit gaat niet tegen de regels van MVC, het blijft net zo overzichtelijk, zo niet, overzichtelijker.

De controller (C) is eigenlijk wat de hele boel bij elkaar houdt. Hij staat tussen de model en de view in, hij roept functies in de model aan en zorgt ervoor dat alles weer terugkomt in de goede view file met de goede data erin. Zoals al eerder gezegd, wordt de controller te vaak ook als model gebruikt.

Hopelijk heb ik hiermee het MVC pattern een beetje uitgelegd. Voor wat meer informatie zal je moeten Googlen, maar helaas is er vrij weinig goede informatie over te vinden. Maarja, gewoon beginnen, dan leer je het vanzelf!

Een Framework heeft natuurlijk niet alleen maar voordelen, maar ook nadelen:

Dat je zelf een hele hoop programmeert, zegt natuurlijk dat je in totaal minder regels code gebruikt. Het grootste nadeel is dan ook Frameworks groot en soms langzaam zijn. Een hele hoop code wordt uitgevoerd voor het geval dat . Voor het geval dat een module een “custom query” wil, moeten we dat nakijken. In de meeste gevallen is dat natuurlijk niet nodig. Een erg groot nadeel dus.

Wat ook erg ergerlijk kan zijn aan Framework is, dat je toch weer iets nieuws moet gaan leren. Je werkt dan weliswaar nog in PHP, je moet zou gebruiken moeten maken van de functies van het Framework, omdat dat vaak beter qua samenwerking met het Framework. Al die dingen leren kost toch wel een hoop tijd. Wat dus ook een van de belangrijkste dingen van een Framework is, is documentatie. Gelukkig zijn er een aantal goed gedocumenteerde Frameworks te vinden.

Helaas is het geven van een voorbeeld nogal moeilijk, hoewel Frameworks de hoeveelheid code die je schrijft ontzettend verminderen, blijft er in veel Frameworks toch nog een hoop code over. Dat is trouwens niet altijd slecht voor een Framework, meer code betekent meestal wel meer vrijheid.

Om je toch een beetje op weg te helpen met PHP Frameworks, zal ik een lijstje opstellen met Frameworks inclusief een kleine beschrijving:

  1. CodeIgniter: CodeIgniter is een prachtig all-round framework, dat gebruik maakt van het MVC pattern. De extreem goede documentatie maakt het echt een genoegen om mee te werken.
  2. CakePHP: Nog zo’n all-round Framework, die ook gebruik maakt het MVC Pattern. Ook wel aardig gedocumenteerd.
  3. Zend Framework: En nog zo’n zelfde Framework, maar dan van het grote Zend.

Waarschijnlijk heb ik je wel een beetje overtuigd, maar misschien ben je zelfs zo enthousiast dat je gelijk zelf een Framework wil gaan maken. Dat raad ik je helaas af. De meeste veelgebruikte Frameworks zijn door professionele teams gebouwd en de PHP-wereld zit helaas al aardig vol met Frameworks.

Probeer dus eerst echt andere Frameworks te leren kennen. Geloof me, PHP is nog nooit zo leuk geweest als met een Framework!

Stem of voeg toe aanUitleg over het gebruik van deze icons :  Plaatsen/stemmen op NUjij Plaatsen/stemmen op eKudos Plaatsen/stemmen op Bligg.be Plaatsen/stemmen op Netjes.be Plaatsen/stemmen op Digg Voeg dit artikel toe aan Del.icio.us Voeg toe aan je favorieten op Technorati Abonneer je op de RSS-feed van deze site Verstuur deze pagina per e-mail via Feedburner Plaats dit bericht op Twitter

Gerelateerde berichten