CakePHP-veiledning for nybegynnere: Hva er CakePHP Framework?
โก Smart oppsummering
CakePHP-opplรฆringen dekker PHP-rammeverket med รฅpen kildekode for rask, MVC-basert utvikling av webapplikasjoner. Denne veiledningen forklarer hva CakePHP er, hvorfor team velger det, hvordan man installerer det, mappestrukturen og konfigurasjonen, navnekonvensjoner og hvordan Model-View-Controller-mรธnsteret driver et CakePHP-program.

Hva er CakePHP?
CakePHP er et รฅpen kildekode-rammeverk for rask utvikling og vedlikehold av webapplikasjoner bygget i PHP. Det er basert pรฅ konseptet MVC-arkitektur, som bidrar til รฅ bygge PHP-webapplikasjoner enkelt og greit med mindre kode. CakePHP hjelper deg ogsรฅ med รฅ skille forretningslogikk fra datalaget og presentasjonslaget.
Hvorfor bruke CakePHP Framework?
Her er de viktigste fordelene/profesjonene ved รฅ bruke CakePHP-rammeverket:
- CakePHP er uten tvil en av de raskeste plattformene for webutvikling.
- CakePHP lar utviklere fรฅ forbedret kontroll over databasen og SQL-spรธrringer.
- Det hjelper brukere med รฅ raskt utvikle robuste webapplikasjoner uten รฅ miste miljรธfleksibiliteten.
- Stรธtte for PostgreSQL, SQLite, MySQL, og PEAR-DB for ADODB, en databaseabstrakttracsjonsbiblioteket.
- Gjรธr det sรธkemotorvennlig URLs.
- Tilbyr funksjoner som validering av inndata og saneringsverktรธy som gjรธr appen sikker.
- Mallegging med kjent PHP-syntaks.
Slik installerer du CakePHP
Den anbefalte mรฅten รฅ installere CakePHP pรฅ er med Composer, PHP-avhengighetsbehandleren. Nรฅr Composer er installert, kjรธr kommandoen nedenfor for รฅ opprette et nytt prosjektskjelett.
composer create-project --prefer-dist cakephp/app:~5.0 my_app
Kommandoen laster ned CakePHP og dens avhengigheter til en mappe med navnet my_app. Du kan deretter starte den innebygde serveren med bin/cake server og รฅpne http://localhost:8765 i nettleseren din. Merk at CakePHP 5 krever PHP 8.1 eller nyere.
Historien til CakePHP
I denne CakePHP-opplรฆringen skal vi nรฅ dekke historien til CakePHP-rammeverket:
| ร r | Milepรฆl |
|---|---|
| 2005 | CakePHP ble utviklet av Michal Tatarynowicz 15. april 2005. |
| 2005 | CakePHP publiserte den under MIT-lisensen og รฅpnet den for fellesskapsutviklerne. |
| 2005 | Larry E Masters tok over som hovedutvikler. |
| 2006 | Versjon 1.0 ble utgitt. |
| 2011 | Versjon 2 ble utgitt. |
| 2014 | Versjon 3 ble utgitt, en fullstendig omskriving av tidligere versjoner. |
| 2016 | Versjon 3.3 av CakePHP ble utgitt med mange avanserte funksjoner. |
| 2019 | Versjon 4.0 ble utgitt, og moderniserte rammeverket. |
| 2023 | CakePHP 5.0 ble utgitt, og krever PHP 8.1 eller nyere. Den nรฅvรฆrende utgivelsen i 2026 er CakePHP 5.3.x. |
Funksjoner av CakePHP
Her er viktige funksjoner i CakePHP.
- Aktivt, vennlig samfunn
- MVC-arkitektur
- Innebygd validering
- Fungerer fra hvilken som helst nettstedskatalog, med noe eller ingen Apache-konfigurasjon involvert.
- Malmotor
- Caching-operasjoner
- Enkle CRUD-databaseinteraksjoner
- Hรฅndtering av komponenter som e-post, informasjonskapsler, sikkerhet, รธkt og forespรธrsel
- Se hjelpere for JavaScript, Ajax, HTML-skjemaer og mer
CakePHP- Mappestruktur
Nรฅ i denne CakePHP-rammeveiledningen vil vi lรฆre om CakePHP-mappestrukturen.
Nedenfor er en mappestruktur for CakePHP:
| Folder | Tekniske beskrivelser |
|---|---|
| Tester | Denne mappen inneholder testcases for sรธknaden din. |
| tmp | Tmp-mappen lagrer midlertidige data. |
| Leverandรธr | Denne mappen er der CakePHP og andre applikasjonsavhengigheter er installert. |
| Webroot | Webroten lagrer alle filene du vil skal vรฆre offentlig tilgjengelige. |
| Bin | Bin-mappen inneholder Cake-konsollens kjรธrbare filer. |
| Logger | Den inneholder loggfilene dine, som avhenger av loggkonfigurasjonen din. |
| Config | Konfigurasjonsmappen lagrer konfigurasjonsfilene CakePHP bruker. |
| plugins | Det er her programtilleggene applikasjonen din bruker lagres. |
| src | Den inneholder koden for applikasjonen din, for eksempel kontrollere, enheter og virkemรฅter. Lokalitet lagrer strengfiler for internasjonalisering, og Modell inneholder applikasjonens tabeller, enheter og virkemรฅter. |
Konfigurasjon av CakePHP
CakePHP kommer med en enkelt konfigurasjonsfil som standard. Den lar deg ogsรฅ endre den i henhold til dine krav. Det er en mappe kalt "config" gitt for dette formรฅlet.
| Variabelnavn | Tekniske beskrivelser |
|---|---|
| Debug | Lar deg endre CakePHP-feilsรธkingsutdata. |
| App.navneomrรฅde | Hjelper deg med รฅ finne appklassene. |
| App.baseUrl | Fjern kommentaren til dette sรธkeordet nรฅr du ikke vil bruke Apaches mod_rewrite med CakePHP. |
| App.koding | Lar deg definere hvilken koding applikasjonen din bruker. |
| App.base | Det er basiskatalogen appen ligger i. Hvis den er satt til ยซusannยป, vil dette bli automatisk oppdaget. |
| App.fullBaseUrl | Fullt kvalifisert domenenavn. |
| App.webroot | Det er webrot-katalogen. |
| App.wwwRoot | Filbanen til webroot. |
| App.jsBaseUrl | Sti til den offentlige js-katalogen. |
| App.baner | Konfigurer baner for ikke-klassebaserte ressurser. |
| App.cssBaseUrl | Det er webstien til den offentlige CSS-katalogen under webroot. |
| Sikkerhetssalt | Det er en tilfeldig streng som brukes i hashing. |
| Asset.timestamp | Denne variabelen legger til et tidsstempel nรฅr de riktige hjelperne brukes. |
Cake- PHP navnekonvensjoner
Cake fรธlger ideen om konvensjon fremfor konfigurasjon. Navnekonvensjonen lar deg organisere driften av webapplikasjonen. I denne metoden mรฅ mer enn ett ord i et navn skilles med ยซ_ยป nรฅr du navngir filen, og ยซcamel caseยป nรฅr du navngir klassen.
MVC-delene mรฅ fรธlge syntaksen nedenfor:
| File Name | Klassenavn | Grunnklassenavn | Vรฅrt kontor: | |
|---|---|---|---|---|
| Modell | Entallsform av tabellnavnet med filtypen .php, f.eks. order.php | Filnavnet i Camel-saken, f.eks.: Ordre | Appmodell | /app/modeller |
| controller | tabellnavn_kontroller med en .php-utvidelse, f.eks. orders_controller.php | Tabellnavnet lagt til med Controller, f.eks.: OrdersController | AppController | /app/kontrollere |
| Se | Handlingsnavnet i kontrolleren med filtypen .ctp, f.eks. add.ctp | Ingen klasser; en visning inneholder HTML-koder og PHP. | /app/views/kontrollernavn |
Konfigurasjon av databaser
CakePHP lar deg konfigurere databasen i config/app.php fil. Den gir en standardtilkobling med angitte parametere som du kan endre etter eget valg.
Viktige parametere er gitt nedenfor:
| Parameter | Tekniske beskrivelser |
|---|---|
| port (valgfritt) | TCP-porten eller Unix-kontakten som brukes til รฅ koble til serveren. |
| Time Zone | Servertidssone รฅ angi. |
| Skjema | Det hjelper deg รฅ spesifisere hvilket skjema du kan bruke. |
| unix_socket | Brukes av drivere for รฅ koble til via Unix socket-filer. |
| ssl_nรธkkel | Det er filbanen til SSL-nรธkkelfilen. |
| ssl_cert | Det er filbanen til SSL-sertifikatfilen. |
| ssl_ca | Det er filbanen til SSL-sertifikatmyndigheten. |
| Overnatting | Dette begrepet hjelper deg med รฅ utfรธre spรธrringslogging. |
| I det | En liste over spรธrringer som skal sendes til databaseserveren nรฅr tilkoblingen opprettes. |
| sitatidentifikatorer | Sett til sann hvis du vil bruke reserverte ord eller spesialtegn. |
Hvordan fungerer MVC i CakePHP?
Nรฅ skal vi lรฆre hvordan MVC fungerer i CakePHP i denne veiledningen for CakePHP-rammeverket.
Det er en dynamisk mรฅte รฅ bygge hovedmekanismen til en webapplikasjon pรฅ. Modellen, visningen og kontrolleren er separate fra hverandre.

CakePHP deler operasjonene inn i tre deler:
- Modeller: Brukes for alle databaseinteraksjoner.
- Visninger: Brukes for alle utdata og skjermer.
- Kontrollere: Brukes til รฅ kontrollere applikasjonsflyten.
Her er trinnene for รฅ bruke MVC-arkitekturen i CakePHP:
Trinn 1) Klienten eller brukeren samhandler med visningen.
Trinn 2) Visningen varsler kontrolleren om den spesifikke hendelsen.
Trinn 3) Kontrolleren sender en databaseforespรธrsel til modellen og oppdaterer modellen.
Trinn 4) Modellen varsler om at visningen har endret seg.
Trinn 5) Visningen mottar modelldataene og oppdaterer seg selv i henhold til de mottatte dataene.
Hvorfor bruke MVC?
- CakePHP MVC hjelper deg med รฅ skille forretningslogikk fra presentasjon og datainnhenting.
- Et nettsted er delt inn i logiske seksjoner som du kan styre med en spesifikk kontroller.
- Nรฅr man tester og feilsรธker et program, kan enhver utvikler finne og rette feil uten รฅ ha fullstendige kodedetaljer.
Ulemper ved รฅ bruke CakePHP-rammeverket
- Dokumentasjonsstรธtten til CakePHP er ikke sรฅ omfattende som den burde vรฆre.
- For รฅ bruke CakePHP mรฅ utvikleren oppdatere standardrutene for รฅ lage fancy URLs, som er mer arbeid sammenlignet med noen andre PHP-rammeverk.
- CakePHP bruker enveisruting sammenlignet med andre rammeverk.
- Lรฆre PHP Rammeverket er ikke alltid lett for nybegynnere.
- Enveisruting er en annen ulempe sammenlignet med rammeverk som Ruby on Rails.
