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.

MVC-architectuur in CakePHP
MVC-architectuur in CakePHP

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.