CakePHP Tutorial for begyndere: Hvad er CakePHP Framework?
โก Smart opsummering
CakePHP-vejledningen dรฆkker open source PHP-frameworket til hurtig, MVC-baseret webapplikationsudvikling. Denne vejledning forklarer, hvad CakePHP er, hvorfor teams vรฆlger det, hvordan man installerer det, dets mappestruktur og konfiguration, navngivningskonventioner og hvordan Model-View-Controller-mรธnsteret driver en CakePHP-applikation.

Hvad er CakePHP?
CakePHP er et open source-framework til hurtig udvikling og vedligeholdelse af webapplikationer bygget i PHP. Det er baseret pรฅ konceptet med 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 datalaget og prรฆsentationslaget.
Hvorfor bruge CakePHP Framework?
Her er de primรฆre fordele/fordele ved at bruge CakePHP-frameworket:
- CakePHP 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 brugerne med hurtigt at udvikle robuste webapplikationer uden at miste deres miljรธfleksibilitet.
- Stรธtte til PostgreSQL, SQLite, MySQLog PEAR-DB for ADODB, en databaseabstraction bibliotek.
- Gรธr det sรธgemaskinevenligt URLs.
- Tilbyder funktioner som inputvalidering og saneringsvรฆrktรธjer, der gรธr appen sikker.
- Skabeloner med velkendt PHP-syntaks.
Sรฅdan installeres CakePHP
Den anbefalede mรฅde at installere CakePHP pรฅ er med Composer, PHP-afhรฆngighedshรฅndteringen. Nรฅr Composer er installeret, skal du kรธre kommandoen nedenfor for at oprette et nyt projektskelet.
composer create-project --prefer-dist cakephp/app:~5.0 my_app
Kommandoen downloader CakePHP og dens afhรฆngigheder til en mappe med navnet my_app. Du kan derefter starte den indbyggede server med bin/cake server og รฅbn http://localhost:8765 i din browser. Bemรฆrk at CakePHP 5 krรฆver PHP 8.1 eller nyere.
Historien om CakePHP
I denne CakePHP-tutorial vil vi gennemgรฅ historien bag CakePHP-frameworket:
| ร r | Milestone |
|---|---|
| 2005 | CakePHP blev udviklet af Michal Tatarynowicz den 15. april 2005. |
| 2005 | CakePHP udgav den under MIT-licensen og รฅbnede den for fรฆllesskabets udviklere. |
| 2005 | Larry E Masters tog over som hovedudvikler. |
| 2006 | Version 1.0 blev udgivet. |
| 2011 | Version 2 blev udgivet. |
| 2014 | Version 3 blev udgivet, en komplet omskrivning af tidligere versioner. |
| 2016 | Version 3.3 af CakePHP blev udgivet med mange avancerede funktioner. |
| 2019 | Version 4.0 blev udgivet, hvilket moderniserede frameworket. |
| 2023 | CakePHP 5.0 blev udgivet og krรฆver PHP 8.1 eller nyere. Den nuvรฆrende udgivelse i 2026 er CakePHP 5.3.x. |
Funktioner af CakePHP
Her er vigtige funktioner i CakePHP.
- Aktivt, venligt fรฆllesskab
- MVC arkitektur
- Indbygget validering
- Fungerer fra enhver hjemmesidemappe, med eller uden Apache-konfiguration involveret.
- Skabelonmotor
- Cache-operationer
- Nemme interaktioner med CRUD-databasen
- Hรฅndtering af komponenter som e-mail, cookie, sikkerhed, session og anmodning
- Se hjรฆlpere til 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 | Tmp-mappen gemmer midlertidige data. |
| Vendor | Denne mappe er hvor CakePHP og andre programafhรฆngigheder er installeret. |
| Webroot | Webroden 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, som afhรฆnger af din logkonfiguration. |
| Config | Konfigurationsmappen gemmer de konfigurationsfiler, som CakePHP bruger. |
| plugins | Det er her, de plugins, som din applikation bruger, gemmes. |
| src | Den indeholder koden til din applikation, sรฅsom controllere, enheder og adfรฆrdsmรธnstre. Locale gemmer strengfiler til internationalisering, og Model indeholder din applikations tabeller, enheder og adfรฆrdsmรธnstre. |
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-klasserne. |
| App.baseUrl | Fjern kommentaren til dette sรธgeord, nรฅr du ikke รธnsker at bruge Apaches mod_rewrite med CakePHP. |
| App.kodning | Giver dig mulighed for at definere, hvilken kodning din applikation bruger. |
| App.base | Det er basismappen, som appen befinder sig i. Hvis den er angivet som falsk, vil dette blive automatisk registreret. |
| App.fullBaseUrl | Fuldt kvalificeret domรฆnenavn. |
| App.webroot | Det er webrot-mappen. |
| 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 webstien til den offentlige CSS-mappe under webroot. |
| Sikkerhedssalt | Det er en tilfรฆldig streng, der bruges i hashing. |
| Asset.timestamp | Denne variabel tilfรธjer et tidsstempel, nรฅr de korrekte hjรฆlpere bruges. |
Cake- PHP navngivningskonventioner
Cake fรธlger ideen om konvention frem for konfiguration. Navngivningskonventionen giver dig mulighed for at organisere webapplikationens drift. I denne metode skal mere end รฉt ord i et navn adskilles af "_", nรฅr filen navngives, og camel case, nรฅr klassen navngives.
MVC-delene skal fรธlge syntaksen nedenfor:
| File Name | Klassens navn | Basisklassenavn | Lokation | |
|---|---|---|---|---|
| Model | Entalsform af tabelnavnet med filtypenavnet .php, f.eks. order.php | Filnavnet i Camel-sagen, f.eks.: Ordre | Appmodel | /app/modeller |
| controller | tabelnavn_controller med en .php-udvidelse, f.eks.: orders_controller.php | Tabelnavnet tilfรธjet med Controller, f.eks.: OrdersController | AppController | /app/controllere |
| Se | Handlingsnavnet i controlleren med filtypenavnet .ctp, f.eks. add.ctp | Ingen klasser; en visning indeholder HTML-tags og PHP. | /app/views/controller navn |
Database konfiguration
CakePHP giver dig mulighed for at konfigurere databasen i config / app.php fil. Den leverer en standardforbindelse med angivne parametre, som du kan รฆndre efter eget valg.
Vigtige parametre er angivet nedenfor:
| Parameter | Beskrivelse |
|---|---|
| port (valgfrit) | 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 | Bruges af drivere til at oprette forbindelse via Unix socket-filer. |
| ssl_nรธgle | Det er filstien til SSL-nรธglefilen. |
| ssl_cert | Det er filstien til SSL-certifikatfilen. |
| ssl_ca | Det er filstien 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. |
| citatIdentifikatorer | Sรฆt 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 framework-tutorial.
Det er en dynamisk mรฅde at bygge den primรฆre mekanisme i en webapplikation. Modellen, viewet og controlleren er adskilte fra hinanden.

CakePHP 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 trinnene til at bruge MVC-arkitekturen i CakePHP:
Trin 1) Klienten eller brugeren interagerer med visningen.
Trin 2) Visningen advarer controlleren om den specifikke hรฆndelse.
Trin 3) Controlleren sender en databaseanmodning til modellen og opdaterer modellen.
Trin 4) Modellen advarer om, at synspunktet har รฆndret sig.
Trin 5) Visningen modtager modeldataene og opdaterer sig selv i henhold til de 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 man tester og fejlfinder en applikation, kan enhver udvikler finde og rette fejl uden at have fuldstรฆndige kodeoplysninger.
Ulemper ved at bruge CakePHP-rammen
- Dokumentationssupporten til CakePHP er ikke sรฅ omfattende, som den burde vรฆre.
- For at bruge CakePHP skal udvikleren opdatere standardruterne til at oprette fancy databaser. URLs, hvilket er mere arbejde sammenlignet med nogle andre PHP-frameworks.
- CakePHP bruger envejsrouting sammenlignet med andre frameworks.
- At lรฆre PHP Framework er ikke altid let for begyndere.
- Envejsrouting er en anden ulempe sammenlignet med frameworks som Ruby on Rails.
