CakePHP-zelfstudie voor beginners: wat is het CakePHP-framework?
⚡ Slimme samenvatting
Deze CakePHP-tutorial behandelt het open-source PHP-framework voor snelle, op MVC gebaseerde webapplicatieontwikkeling. De tutorial legt uit wat CakePHP is, waarom teams ervoor kiezen, hoe je het installeert, de mapstructuur en configuratie, naamgevingsconventies en hoe het Model-View-Controller-patroon een CakePHP-applicatie aanstuurt.

Wat is CakePHP?
CakePHP CakePHP is een open-source framework voor de snelle ontwikkeling en het onderhoud van webapplicaties gebouwd in PHP. Het is gebaseerd op het MVC-architectuurconcept, waarmee PHP-webapplicaties eenvoudig en snel met minder code kunnen worden gebouwd. CakePHP helpt je bovendien om de bedrijfslogica te scheiden van de datalaag en de presentatielaag.
Waarom het CakePHP Framework gebruiken?
Hieronder vind je de belangrijkste voordelen van het gebruik van het CakePHP-framework:
- CakePHP is zonder twijfel een van de snelste webontwikkelingsplatformen.
- Met CakePHP kunnen ontwikkelaars verbeterde controle krijgen over de database en SQL-query's.
- Het helpt gebruikers om snel robuuste webapplicaties te ontwikkelen zonder hun flexibiliteit in de ontwikkelomgeving te verliezen.
- Ondersteuning PostgreSQL, SQLite, MySQLen PEAR-DB voor ADODB, een database abstracbibliotheek.
- Faciliteert zoekmachinevriendelijkheid URLs.
- Biedt functies zoals invoervalidatie en opschoningsprogramma's die de app veilig maken.
- Sjabloonontwerp met vertrouwde PHP-syntaxis.
Hoe installeer je CakePHP?
De aanbevolen manier om CakePHP te installeren is met Composer, de PHP-afhankelijkheidsbeheerder. Nadat Composer is geïnstalleerd, voert u de onderstaande opdracht uit om een nieuw projectskelet te creëren.
composer create-project --prefer-dist cakephp/app:~5.0 my_app
Met dit commando worden CakePHP en de bijbehorende afhankelijkheden gedownload naar een map met de naam my_app. Je kunt de ingebouwde server vervolgens starten met bin/cake server Open http://localhost:8765 in je browser. Let op: CakePHP 5 vereist PHP 8.1 of hoger.
Geschiedenis van CakePHP
In deze CakePHP-tutorial behandelen we de geschiedenis van het CakePHP-framework:
| Jaar | Milestone |
|---|---|
| 2005 | CakePHP is op 15 april 2005 ontwikkeld door Michal Tatarynowicz. |
| 2005 | CakePHP publiceerde het onder de MIT-licentie en stelde het beschikbaar aan ontwikkelaars uit de community. |
| 2005 | Larry E Masters nam het over als hoofdontwikkelaar. |
| 2006 | Versie 1.0 werd uitgebracht. |
| 2011 | Versie 2 werd uitgebracht. |
| 2014 | Versie 3 werd uitgebracht, een volledig herschreven versie van de eerdere versies. |
| 2016 | Versie 3.3 van CakePHP is uitgebracht met veel geavanceerde functies. |
| 2019 | Versie 4.0 werd uitgebracht, waarmee het framework werd gemoderniseerd. |
| 2023 | CakePHP 5.0 werd uitgebracht en vereiste PHP 8.1 of hoger. De huidige release in 2026 is CakePHP 5.3.x. |
Kenmerken van CakePHP
Hier zijn belangrijke kenmerken van CakePHP.
- Actieve, vriendelijke gemeenschap
- MVC-architectuur
- Ingebouwde validatie
- Werkt vanuit elke websitedirectory, met of zonder Apache-configuratie.
- Sjabloonengine
- Cachebewerkingen
- Eenvoudige CRUD-database-interacties
- Het verwerken van componenten zoals e-mail, cookie, beveiliging, sessie en verzoek.
- Bekijk hulpmiddelen voor JavaScript, Ajax, HTML-formulieren en meer
CakePHP- Mapstructuur
In deze CakePHP-framework-tutorial zullen we nu meer leren over de CakePHP-mapstructuur.
Hieronder vindt u een mappenstructuur van CakePHP:
| Map | Beschrijving |
|---|---|
| Tests | In deze map vindt u testcases voor uw toepassing. |
| tmp | De map tmp slaat tijdelijke gegevens op. |
| Verkoper | In deze map worden CakePHP en andere applicatieafhankelijkheden geïnstalleerd. |
| Webroot | De webroot bevat alle bestanden die u publiekelijk toegankelijk wilt maken. |
| Bak | De map bin bevat de uitvoerbare bestanden van de Cake-console. |
| Logs | Het bevat uw logbestanden, die afhankelijk zijn van uw logconfiguratie. |
| Config | De map 'config' bevat de configuratiebestanden die CakePHP gebruikt. |
| Plugins | Hier worden de plug-ins opgeslagen die uw applicatie gebruikt. |
| src | Het bevat de code voor je applicatie, zoals controllers, entiteiten en gedragingen. Locale slaat stringbestanden op voor internationalisering, en Model bevat de tabellen, entiteiten en gedragingen van je applicatie. |
Configuratie van CakePHP
CakePHP wordt standaard geleverd met één enkel configuratiebestand. Het biedt u ook de mogelijkheid om het aan te passen aan uw wensen. Voor dit doel is er een map met de naam “config”.
| Variabelenaam | Beschrijving |
|---|---|
| Debug | Hiermee kunt u de foutopsporingsuitvoer van CakePHP wijzigen. |
| App.naamruimte | Hiermee kun je de juiste app-categorieën vinden. |
| App.baseUrl | Verwijder de commentaar op dit zoekwoord als u Apache's mod_rewrite niet wilt gebruiken met CakePHP. |
| App.codering | Hiermee kunt u definiëren welke codering uw applicatie gebruikt. |
| App.basis | Dit is de basisdirectory waarin de app zich bevindt. Indien dit veld niet is ingevuld, wordt dit automatisch gedetecteerd. |
| App.fullBaseUrl | Volledig gekwalificeerde domeinnaam. |
| App.webroot | Dit is de webroot-directory. |
| App.wwwRoot | Het bestandspad naar de webroot. |
| App.jsBaseUrl | Pad naar de openbare js-map. |
| App.paden | Configureer paden voor niet-klassegebaseerde bronnen. |
| App.cssBaseUrl | Dit is het webpad naar de openbare CSS-directory onder de webroot. |
| Beveiliging.zout | Het is een willekeurige tekenreeks die wordt gebruikt bij het hashen. |
| Asset.tijdstempel | Deze variabele voegt een tijdstempel toe wanneer de juiste hulpfuncties worden gebruikt. |
Cake- PHP-naamgevingsconventies
CakePHP hanteert het principe van conventie boven configuratie. De naamgevingsconventie maakt het mogelijk om de werking van de webapplicatie te organiseren. Bij deze methode moeten meer dan één woord in een bestandsnaam worden gescheiden door een underscore ("_"), en klassenamen moeten in camel case worden geschreven.
De MVC-onderdelen moeten de onderstaande syntaxis volgen:
| Bestandsnaam | Naam van de klasse | Naam basisklasse | Lokatie | |
|---|---|---|---|---|
| Model | De enkelvoudige vorm van de tabelnaam met de extensie .php, bijvoorbeeld: order.php | De bestandsnaam in camel case, bijvoorbeeld: Order | AppModel | /app/modellen |
| Controller | tabelnaam_controller met een .php-extensie, bijvoorbeeld: orders_controller.php | De tabelnaam met de toevoeging 'Controller', bijvoorbeeld: OrdersController | AppController | /app/controllers |
| Bekijk | De actienaam in de controller met de extensie .ctp, bijvoorbeeld: add.ctp | Geen klassen; een weergave bevat HTML-tags en PHP. | /app/views/controllernaam |
Databaseconfiguratie
CakePHP biedt de mogelijkheid om de database te configureren in de config/app.php Het bestand biedt een standaardverbinding met de opgegeven parameters, die u naar eigen keuze kunt aanpassen.
Belangrijke parameters worden hieronder gegeven:
| Parameter | Beschrijving |
|---|---|
| poort (optioneel) | De TCP-poort of Unix-socket die wordt gebruikt om verbinding te maken met de server. |
| Tijdzone | Servertijdzone die moet worden ingesteld. |
| Schema | Het helpt u om aan te geven welk schema u kunt gebruiken. |
| unix_socket | Wordt door stuurprogramma's gebruikt om verbinding te maken via Unix-socketbestanden. |
| ssl_sleutel | Dit is het bestandspad naar het SSL-sleutelbestand. |
| ssl_cert | Dit is het bestandspad naar het SSL-certificaatbestand. |
| ssl_ca | Dit is het bestandspad naar de SSL-certificaatinstantie. |
| Log | Deze term helpt u bij het uitvoeren van queryregistratie. |
| In het | Een lijst met zoekopdrachten die naar de databaseserver moeten worden verzonden wanneer de verbinding tot stand wordt gebracht. |
| citaatIdentifiers | Stel deze waarde in op 'true' als u gereserveerde woorden of speciale tekens wilt gebruiken. |
Hoe werkt MVC in CakePHP?
In deze tutorial over het CakePHP-framework leren we hoe MVC werkt in CakePHP.
Het is een dynamische manier om het belangrijkste mechanisme van een webapplicatie op te bouwen. Het model, de weergave en de controller zijn van elkaar gescheiden.

CakePHP verdeelt de bewerkingen in drie delen:
- Modellen: gebruikt voor alle database-interacties.
- Weergaven: gebruikt voor alle uitvoer en displays.
- Controllers: Worden gebruikt om de applicatiestroom te regelen.
Hieronder volgen de stappen om de MVC-architectuur in CakePHP te gebruiken:
Stap 1) De klant of gebruiker interacteert met de weergave.
Stap 2) De weergave waarschuwt de controller voor de specifieke gebeurtenis.
Stap 3) De controller stuurt een databaseverzoek naar het model en werkt het model bij.
Stap 4) Het model waarschuwt de gebruiker dat er een wijziging heeft plaatsgevonden.
Stap 5) De weergave ontvangt de modelgegevens en werkt zichzelf bij op basis van de ontvangen gegevens.
Waarom MVC gebruiken?
- CakePHP MVC helpt je om de bedrijfslogica te scheiden van de presentatie en het ophalen van gegevens.
- Een site is opgedeeld in logische secties die u kunt besturen met een specifieke controller.
- Bij het testen en debuggen van een applicatie kan elke ontwikkelaar fouten opsporen en corrigeren zonder over alle details van de code te beschikken.
Nadelen van het gebruik van het CakePHP-framework
- De documentatie voor CakePHP is niet zo uitgebreid als zou moeten.
- Om CakePHP te gebruiken, moet de ontwikkelaar de standaardroutes bijwerken om geavanceerde mogelijkheden te creëren. URLs, wat meer werk is in vergelijking met sommige andere PHP-frameworks.
- CakePHP maakt gebruik van eenrichtingsroutering in tegenstelling tot andere frameworks.
- PHP leren Een framework is niet altijd even makkelijk voor beginners.
- Eenrichtingsroutering is een ander nadeel in vergelijking met frameworks zoals Ruby on Rails.
