CakePHP-zelfstudie voor beginners: wat is het CakePHP-framework?
Samenvatting van de CakePHP-zelfstudie
In deze CakePHP tutorial leren we alle basisconcepten vanaf nul. Deze tutorial behandelt de CakePHP definitie, geschiedenis, functies, mapstructuur en configuratie, en een korte beschrijving van hoe het CakePHP framework werkt.
Wat is CakePHP?
CakePHP is een open-source framework voor de snelle ontwikkeling en het onderhoud van webapplicaties die zijn gebouwd in PHP. Het is gebaseerd op het concept van MVC-architectuur, dat helpt om PHP-webapplicaties eenvoudig en snel te bouwen met minder code. CakePHP helpt u ook om bedrijfslogica te scheiden van de datalaag en presentatielaag.
Waarom het CakePHP Framework gebruiken?
Hier zijn de belangrijkste voordelen/voordelen van het gebruik van het CakePHP-framework:
- Cake PHP is veruit een van de snelste webontwikkelingsplatforms.
- Met CakePHP kunnen ontwikkelaars verbeterde controle krijgen over de database en SQL-query's.
- Het helpt gebruikers robuuste webapplicaties te ontwikkelen zonder snel hun omgevingsflexibiliteit te verliezen.
- Ondersteuning PostgreSQL, SQLite, MySQL, PEAR-DB voor ADODB, een database-abstractiebibliotheek.
- Vergemakkelijkt zoekmachinevriendelijke URL's
- Bied functies zoals invoervalidatie en opschoningstools die de app veilig maken.
- Sjablonen met bekende PHP-syntaxis
Geschiedenis van CakePHP
In deze CakePHP-tutorial bespreken we de geschiedenis van het CakePHP-framework:
Jaar | Milestone |
---|---|
2005 | CakePHP is ontwikkeld door Michal Tatarynowicz op 15 april 2005. |
2005 | CakePHP publiceerde het onder MIT-licentie en stelde het open voor de community-ontwikkelaars. |
2005 | Larry E Masters nam het over als hoofdontwikkelaar. |
2006 | Versie 1.0 is uitgebracht |
2011 | Versie 2 is uitgebracht |
2014 | Er is versie 3 uitgebracht, die de eerdere versies volledig intrekt. |
2016 | Versie 3.3.3. Of CakePHP wordt uitgebracht met veel geavanceerde functies. |
2019 | Versie 3.7.9 is de laatst uitgebrachte versie |
2021 | Het kernteam van CakePHP kondigt de onmiddellijke beschikbaarheid aan van CakePHP 4.2.2 |
Kenmerken van CakePHP
Hier zijn belangrijke kenmerken van CakePHP.
- Actieve, vriendelijke gemeenschap
- MVC-architectuur
- Ingebouwde validatie
- Werkt vanuit elke websitemap, met enige of geen Apache-configuratie.
- Sjabloonmotor
- Caching Operaties
- Eenvoudige CRUD-database-interacties.
- Ingebouwde validatie
- Omgaan met componenten zoals e-mail, cookie, beveiliging, sessie en verzoek
- Bekijk Helpers 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 | In de tijdelijke map worden tijdelijke gegevens opgeslagen. |
Verkoper | Deze map helpt u bij het opslaan van CakePHP en andere toepassingsafhankelijkheden worden geïnstalleerd. |
Webroot | De Webroot slaat alle bestanden op die u publiekelijk bereikbaar wilt maken. |
Bak | De map bin bevat de uitvoerbare bestanden van de Cake-console. |
Logs | Het bevat uw logbestanden, afhankelijk van uw logconfiguratie. |
Config | In de configuratiemap worden de configuratiebestanden opgeslagen die CakePHP gebruikt |
Plugins | Deze map bevat plug-ins voor de applicatie. is waar de plug-ins die uw applicatie gebruikt, worden opgeslagen. |
src | Het bevat een consoletaak en opdrachten om uw applicatie te beheren.
Locale Slaat tekenreeksbestanden op voor internationalisering. Model Bevat de tabellen, entiteiten en gedragingen van uw toepassing. |
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 | Helpt je bij het vinden van app-lessen onder. |
App.baseUrl | Verwijder de commentaar op dit zoekwoord als u Apache's mod_rewrite niet wilt gebruiken met CakePHP. |
App.codering | Met deze opdracht kunt u definiëren welke codering uw toepassing gebruikt. |
App.basis | Het is een basismap waarin de app zich bevindt. Als dit niet waar is, wordt dit automatisch gedetecteerd. |
App.fullBaseUrl | Gekwalificeerde domeinnaam |
App.webroot | Het is een 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 | Het is een webpad naar de openbare css-map onder webroot. |
Beveiliging.zout | Het is een willekeurige tekenreeks die wordt gebruikt bij het hashen. |
Asset.tijdstempel | Met deze variabele kunt u een tijdstempel toevoegen wanneer u de juiste helpers gebruikt. |
Cake- PHP-naamgevingsconventies
Cake volgt het idee van conventie boven configuratie. Met de naamgevingsconventiemethode kunt u de werking van de webapplicatie organiseren. Bij deze methode moeten meer dan één woord in de naam worden gescheiden door "_" bij het benoemen van het bestand en camel cases bij het benoemen van de klasse.
De MVC-onderdelen moeten de onderstaande syntaxis volgen:
Bestandsnaam | Naam van de klasse | Naam basisklasse | Locatie | |
---|---|---|---|---|
Model | Bestandsnaam Enkelvoudige vorm van de tabelnaam met de extensie .php, bijvoorbeeld: order.php |
De bestandsnaam in een Camel-zaak, bijvoorbeeld: Order | AppModel | /app/modellen |
Controller | tabelnaam_controller met de extensie .php, bijvoorbeeld: ordcrs_controllcr.php | Aan de tabelnaam is Controller toegevoegd, bijvoorbeeld: OrdcrsController | AppController | /app/controllers |
Bekijk | De actienaam in de controller met de extensie .ctp, bijvoorbeeld: add.ctp | Geen lessen; a view c HTML-tags en PHP. ' | /app/vuews/controllernaam |
Databaseconfiguratie
Met CakePHP kunt u Database configureren in config/app.php bestand. Het biedt een standaardverbinding met de meegeleverde parameters die u naar eigen keuze kunt wijzigen.
Belangrijke parameters worden hieronder gegeven:
Database | Naam van database |
---|---|
poort (optioneel) codering |
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 | Deze database wordt door stuurprogramma's gebruikt om verbinding te maken via Unix-socketbestanden. |
SSL-sleutel | Het is een bestandspad naar het SSL-sleutelbestand. |
ssl_cert | Het is een bestandspad naar het SSL-certificaatbestand. |
ssl_ca | Het is een bestandspad naar de SSL-certificeringsinstantie. |
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. |
Stel deze in op true als u gereserveerde woorden of speciale tekens wilt gebruiken |
Hoe werkt MVC in CakePHP?
Nu zullen we leren hoe MVC werkt in CakePHP in deze CakePHP-framework-tutorial.
Het is een dynamische manier om het belangrijkste mechanisme van een webapplicatie te bouwen. Het model, de weergave en de controller scheiden elkaar.

Cake PHP verdeelt de bewerkingen in drie delen:
- Modellen: gebruikt voor alle database-interacties.
- Weergaven: gebruikt voor alle uitvoer en displays.
- Controllers: gebruikt om de applicatiestroom te controleren
Hieronder staan de stappen voor het gebruik van MVC-architectuur in CakePHP:
Stap 1) De client of gebruiker heeft interactie met de weergave
Stap 2) Bekijk waarschuwingencontroller van de specifieke gebeurtenis.
Stap 3) Het stuurt een databaseverzoek naar het model en de controller werkt het model bij.
Stap 4) Het model waarschuwt dat het is gewijzigd.
Stap 5) View ontvangt modelgegevens en werkt zichzelf bij op basis van ontvangen gegevens.
Waarom MVC gebruiken?
- CakePHP MVC helpt u bedrijfslogica te scheiden van 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 helpen ontwikkelaars je bij het opsporen en corrigeren van fouten, zonder dat ze over de volledige details van de code beschikken.
Nadelen van het gebruik van het CakePHP-framework
- De documentatieondersteuning van CakePHP is niet zo uitgebreid als het zou moeten zijn.
- Om CakePHP-software te gebruiken, moet de ontwikkelaar de standaardroutes voor het maken van fraaie URL's bijwerken, wat veel meer werk is vergeleken met andere PHP-frameworks.
- CakePHP eenrichtingsroutering in vergelijking met andere raamwerken.
- PHP leren raamwerk is niet eenvoudig.
- Het aanbieden van eenrichtingsroutering is een ander nadeel in vergelijking met raamwerken zoals Ruby on Rails.
Samenvatting
- CakePHP is een open-sourceframework dat de ontwikkeling en het onderhoud van PHP-apps veel eenvoudiger maakt.
- Met CakePHP kunnen ontwikkelaars verbeterde controle krijgen over de database en SQL-query's.
- Het werd ontwikkeld door Michal Tatarynowicz op 15 april 2005
- MVC-architectuur en ingebouwde validatie zijn de belangrijkste kenmerken van CakePHP
- CakePHP wordt standaard geleverd met een enkel configuratiebestand waarmee u dit naar eigen wens kunt aanpassen.
- Met de naamgevingsconventiemethode van CakePHP kunt u de werking van de webapplicatie organiseren.
- Met CakePHP kunt u de database configureren in het bestand config/app.php.
- Cake PHP splitst MVC-bewerkingen op in drie delen:
- Modellen: gebruikt voor alle database-interacties, weergaven: gebruikt voor alle uitvoer en weergaven, controllers: gebruikt om de applicatiestroom te besturen
- Het grootste voordeel van het gebruik van MVC in CakePHP is dat het u helpt de bedrijfslogica te scheiden van de presentatie en het ophalen van gegevens.
- Het grootste nadeel van CakePHP is dat de documentatieondersteuning van CakePHP niet zo uitgebreid is als zou moeten.