CakePHP Tutorial for begyndere: Hvad er CakePHP Framework?

Oversigt over CakePHP-tutorial

I denne CakePHP-tutorial lรฆrer vi alle de grundlรฆggende begreber fra bunden. Denne tutorial dรฆkker CakePHP-definition, historie, funktioner, mappestruktur og konfiguration og korte detaljer om, hvordan CakePHP-rammen fungerer.

Hvad er CakePHP?

CakePHP er en open source-ramme til hurtig udvikling og vedligeholdelse af webapplikationer bygget i PHP. Det er baseret pรฅ konceptet MVC-arkitektur, som hjรฆlper med at bygge PHP-webapplikationer nemt og enkelt med mindre kode. CakePHP hjรฆlper dig ogsรฅ med at adskille forretningslogik fra datalag og prรฆsentationslag.

Hvorfor bruge CakePHP Framework?

Her er de vigtigste fordele/fordele ved at bruge CakePHP framework:

  • Cake PHP er langt en af โ€‹โ€‹de hurtigste webudviklingsplatforme.
  • CakePHP giver udviklere mulighed for at fรฅ forbedret kontrol over databasen og SQL-forespรธrgsler.
  • Det hjรฆlper brugere med at udvikle robuste webapplikationer uden hurtigt at miste deres miljรธfleksibilitet.
  • Stรธtte til PostgreSQL, SQLite, MySQL, PEAR-DB til ADODB, et databaseabstraktionsbibliotek.
  • Letter sรธgemaskinevenlige URL'er
  • Tilbyder funktioner som inputvalidering og desinfektionsvรฆrktรธjer, der gรธr appen sikker.
  • Skabelon med velkendt PHP-syntaks

Historien om CakePHP

Nu i denne CakePHP tutorial, vil vi dรฆkke historien om CakePHP framework:

ร…r Milestone
2005 CakePHP blev udviklet af Michal Tatarynowicz den 15. april 2005.
2005 CakePHP udgav den under MIT-licens og รฅbnede den for fรฆllesskabsudviklerne.
2005 Larry E Masters tog over som hovedudvikler.
2006 Version 1.0 blev frigivet
2011 Version 2 blev frigivet
2014 Version 3 blev frigivet, som er fuldstรฆndig tilbagekaldt af tidligere versioner.
2016 Version 3.3.3. Of CakePHP er udgivet med mange avancerede funktioner.
2019 Version 3.7.9 er den sidste version, der er frigivet
2021 CakePHP kerneteam annoncerer den รธjeblikkelige tilgรฆngelighed af CakePHP 4.2.2

Funktioner af CakePHP

Her er vigtige funktioner i CakePHP.

  • Aktivt, venligt fรฆllesskab
  • MVC arkitektur
  • Indbygget validering
  • Fungerer fra ethvert webstedsbibliotek, med nogen eller ingen Apache-konfiguration involveret.
  • Skabelonmotor
  • Caching Operationer
  • Nem CRUD-databaseinteraktion.
  • Indbygget validering
  • Handlin-komponenter som e-mail, cookie, sikkerhed, session og anmodning
  • Se Hjรฆlpere for JavaScript, Ajax, HTML-formularer og mere

CakePHP- Mappestruktur

Nu i denne CakePHP-rammevejledning lรฆrer vi om CakePHP-mappestrukturen.

Nedenfor er en mappestruktur af CakePHP:

Folder Beskrivelse
Tests Denne folder indeholder testcases til din ansรธgning.
tmp Temp-mappen gemmer midlertidige data.
Vendor Denne mappe hjรฆlper dig med at gemme CakePHP, og andre applikationsafhรฆngigheder vil blive installeret.
Webroot Webroot gemmer alle de filer, du รธnsker skal vรฆre offentligt tilgรฆngelige.
Bin Bin-mappen indeholder Cake-konsollens eksekverbare filer.
Logs Den indeholder dine logfiler, hvilket afhรฆnger af din logkonfiguration.
Config Konfigurationsmappen gemmer konfigurationsfilerne, som CakePHP bruger
plugins Denne mappe indeholder plugins til applikationen. er, hvor de plugins, din applikation bruger, er gemt.
src Den indeholder en konsolopgave og kommandoer til at administrere din applikation.

Locale Gemmer strengfiler til internationalisering.

Model Indeholder din applikations tabeller, entiteter og adfรฆrd.

Konfiguration af CakePHP

CakePHP leveres som standard med en enkelt konfigurationsfil. Det giver dig ogsรฅ mulighed for at รฆndre det i henhold til dine krav. Der er en mappe kaldet "config" givet til dette formรฅl.

Variabelt navn Beskrivelse
Debug Giver dig mulighed for at รฆndre CakePHP debugging output.
App.navneomrรฅde Hjรฆlper dig med at finde app klasser under.
App.baseUrl Fjern kommentaren til dette sรธgeord, nรฅr du ikke รธnsker at bruge Apaches mod_rewrite med CakePHP.
App.kodning Denne kommando giver dig mulighed for at definere, hvilken kodning dit program bruger.
App.base Det er en basismappe, som appen ligger i. Hvis falsk, vil dette blive registreret automatisk.
App.fullBaseUrl Kvalificeret domรฆnenavn
App.webroot Det er en webroot-mappe.
App.wwwRoot Filstien til webroot.
App.jsBaseUrl Sti til den offentlige js-mappe.
App.stier Konfigurer stier til ikke-klassebaserede ressourcer.
App.cssBaseUrl Det er en websti til den offentlige css-mappe under webroot.
Sikkerhedssalt Det er en tilfรฆldig streng, der bruges i hashing.
Asset.timestamp Denne variabel giver dig mulighed for at tilfรธje et tidsstempel, nรฅr du bruger korrekte hjรฆlpere.

Cake- PHP navngivningskonventioner

Kage fรธlger ideen om konvention over konfiguration. Navngivningskonventionsmetoden giver dig mulighed for at organisere driften af โ€‹โ€‹webapplikationen. I denne metode skal mere end รฉt ord i navnet adskilles af "_" ved navngivning af filen og kamelhuse, nรฅr klassen navngives.

MVC-delene skal fรธlge nedenstรฅende givne syntaks:

File Name Klassens navn Basisklassenavn Lokation
Model File Name
Entalsform af tabelnavnet med filtypenavnet .php ex: order.php
Filnavnet i en Camel sag, f.eks.: Bestilling Appmodel /app/modeller
controller tabelnavn_controller med .php-udvidelse, f.eks.: ordcrs_controllcr.php Tabelnavnet tilfรธjet Controller, ex: OrdcrsController AppController /app/controllere
Se Handlingsnavnet i controlleren med .ctp-udvidelsen, f.eks.: add.ctp Ingen klasser; a view c HTML-tags og PHP. ' /app/views/controllernavn

Database konfiguration

CakePHP giver dig mulighed for at konfigurere databasen i config / app.php fil. Det giver standardforbindelse med angivne parametre, som du kan รฆndre efter dit valg.

Vigtige parametre er angivet nedenfor:

Database Navn pรฅ database
port (valgfrit)
kodning
TCP-porten eller Unix-stikket, der bruges til at oprette forbindelse til serveren.
Tidszone Servertidszone skal indstilles.
Planlรฆg Det hjรฆlper dig med at specificere hvilket skema du kan bruge.
unix_socket Denne database bruges af drivere til at oprette forbindelse via Unix-socket-filer.
SSL nรธgle Det er en filsti til SSL-nรธglefilen.
ssl_cert Det er en filsti til SSL-certifikatfilen.
ssl_ca Det er en filsti til SSL-certifikatmyndigheden.
Log Dette udtryk hjรฆlper dig med at udfรธre forespรธrgselslogning.
I det En liste over forespรธrgsler, som skal sendes til databaseserveren, nรฅr forbindelsen oprettes.
Indstil til sand, hvis du vil bruge reserverede ord eller specialtegn

Hvordan virker MVC i CakePHP?

Nu vil vi lรฆre, hvordan MVC fungerer i CakePHP i denne CakePHP-rammevejledning.

Det er en dynamisk mรฅde at bygge en webapplikations primรฆre mekanisme pรฅ. Modellen, udsigten og controlleren adskiller hinanden.

MVC-arkitektur i CakePHP
MVC-arkitektur i CakePHP

Cake PHP opdeler operationer i tre dele:

  • Modeller: Anvendes til alle databaseinteraktioner.
  • Visninger: Bruges til alle output og skรฆrme.
  • Controllere: Bruges til at styre applikationsflowet

Her er trin til at bruge MVC-arkitektur i CakePHP:

Trin 1) Klienten eller brugeren interagerer med visningen

Trin 2) Se advarslers controller for den specifikke hรฆndelse.

Trin 3) Den sender en databaseanmodning til modellen, og controlleren opdaterer modellen.

Trin 4) Modellen advarer om, at den har รฆndret sig.

Trin 5) View modtager modeldata og opdaterer sig selv i henhold til modtagne data.

Hvorfor bruge MVC?

  • CakePHP MVC hjรฆlper dig med at adskille forretningslogik fra prรฆsentation og datahentning.
  • Et websted er opdelt i logiske sektioner, som du kan styre med en specifik controller.
  • Nรฅr du tester og fejlretter en applikation, hjรฆlper enhver udviklere dig med at lokalisere og rette fejl uden at have fuldstรฆndige detaljer om koden.

Ulemper ved at bruge CakePHP-rammen

  • Dokumentationsunderstรธttelsen af โ€‹โ€‹CakePHP er ikke sรฅ omfattende, som den burde vรฆre.
  • For at bruge CakePHP-software skal udvikleren opdatere standardruterne for at skabe smarte URL'er, hvilket er meget mere arbejde sammenlignet med andre PHP-frameworks.
  • CakePHP envejs routing sammenlignet med andre rammer.
  • At lรฆre PHP rammer er ikke let.
  • Tilbyder envejs routing er en anden ulempe sammenlignet med rammer som Ruby on Rails.

Resumรฉ

  • CakePHP er en open source-ramme, der hjรฆlper med at gรธre udvikling og vedligeholdelse af PHP-apps meget nemmere.
  • CakePHP giver udviklere mulighed for at fรฅ forbedret kontrol over databasen og SQL-forespรธrgsler.
  • Det blev udviklet af Michal Tatarynowicz den 15. april 2005
  • MVC-arkitektur og indbygget validering er de vigtigste funktioner i CakePHP
  • CakePHP leveres som standard med en enkelt konfigurationsfil, som giver dig mulighed for at รฆndre den i overensstemmelse med dine krav.
  • Navnekonventionsmetoden for CakePHP giver dig mulighed for at organisere driften af โ€‹โ€‹webapplikationen.
  • CakePHP giver dig mulighed for at konfigurere databasen i filen config/app.php.
  • Cake PHP opdeler MVC-operationer i tre dele:
  • Modeller: Bruges til alle databaseinteraktioner, Visninger: Bruges til alle output og skรฆrme, Controllere: Bruges til at styre applikationsflowet
  • Den stรธrste fordel ved at bruge MVC i CakePHP er, at det hjรฆlper dig med at adskille forretningslogik fra prรฆsentation og datahentning.
  • Den stรธrste ulempe ved CakePHP er, at dokumentationsunderstรธttelse af CakePHP ikke er sรฅ omfattende, som den burde vรฆre.

Opsummer dette indlรฆg med: