Beginnen met CakePHP
Patty-cake, patty-cake...
Voorwoord
Welkom in het paradijs van web development.
Als u het voorwoord van technische handleiding leest, heeft u waarschijnlijk tijd teveel. We zijn geen beroemdheden en u komt hier voor de materie, dus sla dit overbodige gedeelte snel over en duik er gelijk in.
Doelgroep
Om deze handleiding te lezen, heeft u een gemiddelde kennis van PHP nodig. Enige bekendheid met object georienteerd programmeren is erg handig, alhoewel ik denk dat de inleidende gedeelten van deze handleiding kunnen dienen als een goed voorbeeld. Dat gezegd hebbende, deze materie is geschreven voor ontwikkelaars van alle kennisniveau's–iedereen die een robuuste en goed te onderhouden applicatie op een snelle en plezierige manier wil bouwen.
Ik moet er wel bij zeggen dat er een aantal gedeelten zijn die te maken hebben met technologien die ver buiten het bereik van deze handleiding vallen. Web server beheer, AJAX en JavaScript en dergelijke zullen hier en daar wel kort toegelicht worden, maar voor het grootste gedeelte blijven we toch bij CakePHP.
Introductie van CakePHP
Wat is CakePHP? Waarom gebruiken?
CakePHP is een vrij, open-source, rapid development framework voor PHP. Het is een fundamentele structuur voor programmeurs om webapplicaties te bouwen. Ons primaire doel is om het u mogelijk te maken te werken op een snelle en gestructureerde manier,zonder verlies van flexibiliteit.
CakePHP neemt de monotonie van webontwikkeling weg. Wij bieden u alle tools die u nodig hebt zodat u meteen kunt beginnen met schrijven van hetgeen het om draait: de logica die specifiek is voor uw applicatie. In plaats van het wiel steeds opnieuw uit te vinden wanneer je aan een nieuw project begint, haal CakePHP op en ga aan de slag gaan met het echte werk van uw applicatie.
CakePHP heeft een actief ontwikkelingsteam en gemeenschap, die van grote waarde zijn voor het project. Naast het voorkomen van het wiel opnieuw uitvinden, betekent het gebruiken van CakePHP dat de kern van uw applicatie goed is getest en constant wordt verbeterd.
Hier vindt u een kort overzicht van de functies waarvan u kunt profiteren bij het gebruik van CakePHP:
- Actieve, vriendelijke gemeenschap
- Flexibele licentie
- Compatibel met PHP4 en PHP5
- Geintegreerde CRUD (create, read, update en delete) voor database interactie
- Applicatie scaffold (tijdelijk raamwerk/steiger)
- Code genereren
- Model View Controller (MVC) architectuur
- Request verwerking met vriendelijke URL's en aangepaste routes
- Ingebouwde validatie
- Snelle en flexibele templates (PHP syntax, met helpers)
- View Helpers voor AJAX, JavaScript, HTML-formulieren en meer
- Email, Cookie, Security, Session, en Request componenten \
- Flexibel toegangsbeheer (ACL, access control lists)
- Gegevens zuivering (Sanatization)
- Flexibele Caching
- Localisatie
- Werkt onder elke website subdirectory, met weinig tot geen Apache configuratie aanpassingen
Waar vindt u hulp
Het Kookboek (The Cookbook)
U bent op de juiste plaats begonnen. Deze handleiding (en de API) is waarschijnlijk de eerste plaats om antwoorden te vinden. Zoals vele andere open source projecten, krijgen we regelmatig nieuwe mensen. Probeer eerst om zelf uw antwoorden te vinden. Wellicht kost dit meer tijd, maar de antwoorden blijven langer hangen en het is minder belastend voor onze support . Zowel de handleiding als de API hebben een online component.
De API
Recht op het doel af en direct van de kern-ontwikkelaars. De API (Applicatie Programmeer Interface) van CakePHP is de meest uitgebreide documentatie die beschikbaar is voor alle kleine details van de interne werking van het framewerk. Het is een recht-door-zee referentie van de code, dus wees niet bang voor wat zweet.
Het IRC kanaal
#cakephp @ irc.freenode.net
Als u er niet uitkomt, geef dan een gil in het CakePHP IRC kanaal. Meestal is er wel iemand van het development team , vooral overdag (Amerika). We horen graag van u, of u nou hulp nodig heeft, gebruikers bij u in de buurt zoekt, of ons uw gloednieuwe sportwagen wilt doneren.
De Bakkerij (The Bakery)
De CakePHP Bakery is een verzamelplaats voor alle CakePHP aangelegenheden. Kijk hier voor tutorials, case studies en code voorbeelden. Zodra u bekend met CakePHP, meldt u aan. Deel uw kennis met de gemeenschap en verkrijg direct roem en fortuin.
CakeForge
CakeForge is een andere ontwikkelaars resource waar u uw CakePHP projecten kunt hosten, om deze te kunnen delen met anderen. Als u op zoek bent naar een geweldig component of een prijzenswaardige plugin (of wilt delen), kijk dan op CakeForge.
De officiële CakePHP website
De officiële CakePHP website is altijd een geweldige plaats om te bezoeken. Het bevat links naar veel gebruikte developer tools, screencasts, donatie mogelijkheden en downloads.
De Google Groep
http://groups.google.com/group/cake-php
CakePHP heeft ook een zeer actieve Google Group. Dit is een goede bron voor het vinden van gearchiveerde antwoorden, veelgestelde vragen en om antwoorden te ontvangen op problemen.
Model-View-Controller uitleg
Overzicht
Correct geschreven CakePHP applicaties volgen het MVC (Model-View-Controller) software ontwerp patroon. Programmeren met MVC scheidt uw applicatie in drie delen. Het model representeert de applicatie data, de view maakt een presentatie van de model gegevens, en de controller handelt de requests van gebruikers af.
IMAGE
Figuur 1: Een standaard MVC Request
Figuur 1 geeft een voorbeeld van een simpel MVC request in CakePHP. Ter illustratie, doen we alsof een gebruiker genaamd Ricardo heeft geklikt op de “Buy A Custom Cake Now!” link op de startpagina van uw applicatie.
- Ricardo klikt op de link die verwijst naar http://www.example.com/cakes/buy, en zijn browser maakt een request naar uw web server.
- De dispatcher controleert de request URL (/cakes/buy), een geeft de request door aan de juiste controller.
- De controller voert de applicatie specifieke logica uit. Bijvoorbeeld, controleert deze of Ricardo is ingelogd.
- Daarnaast gebruikt de controller een of meerdere modellen om toegang tot de applicatie data te krijgen. Meestal representeert een model een database tabel, maar dit zou net zo goed LDAP , RSS , of bestanden op het systeem kunnen zijn. In dit voorbeeld gebruikt de controller een model om Ricardo zijn laatste aankopen uit de database op te halen.
- Zodra de controller zijn trucje heeft gedaan met de data, wordt deze doorgegeven naar een view. De view pakt deze data op en maakt deze klaar voor presentatie aan de gebruiker. Views in CakePHP zijn meestal in HTML format, maar dit zou evengoed een PDF, XML document of een JSON object kunnen zijn, afhankelijk van uw wensen.
- Als de view de data van de controller heeft gebruikt om een volledige view op te bouwen, wordt de inhoud van die view teruggestuurd naar Ricardo’s browser.
Bijna elke request naar uw applicatie volgt dit basispatroon. We zullen later nog wat meer Cake-specifieke details geven, dus houdt dit in gedachten terwijl we verdergaan
Voordelen
Waarom gebruik maken van MVC? Omdat het een bewezen software design patroon blijkt te zijn dat van een applicatie, een goed onderhoudbaar, modulair en snel te ontwikkellen pakket maakt. De taken van uw toepassing onderverdelen in aparte modellen, views en controllers maakt uw applicatie zeer lichtvoetig. Nieuwe functies zijn eenvoudig toe te voegen, en bestaande functies een nieuw uiterlijk geven is een fluitje van een cent. Door het modulaire en gescheiden ontwerp kunnen ontwikkelaars en ontwerpers tegelijkertijd werken, waaronder de mogelijkheid om snel een prototype te maken. Deze scheiding stelt ontwikkelaars ook in staat om veranderingen in een deel van de toepassing te maken zonder invloed op de andere delen.
Als u nog nooit een applicatie op deze manier hebt gebouwd is het wel even wennen, maar we zijn ervan overtuigd dat als u eenmaal uw eerste CakePHP toepassing hebt gebouwd, u niet meer anders zult willen.

login to add a comment