CakePHP Handledning för nybörjare: Vad är CakePHP Framework?
⚡ Smart sammanfattning
CakePHP-handledningen täcker PHP-ramverket med öppen källkod för snabb, MVC-baserad webbapplikationsutveckling. Denna handledning förklarar vad CakePHP är, varför team väljer det, hur man installerar det, dess mappstruktur och konfiguration, namngivningskonventioner och hur Model-View-Controller-mönstret driver en CakePHP-applikation.

Vad är CakePHP?
CakePHP är ett ramverk med öppen källkod för snabb utveckling och underhåll av webbapplikationer byggda i PHP. Det är baserat på konceptet MVC-arkitektur, vilket hjälper till att bygga PHP-webbapplikationer enkelt och smidigt med mindre kod. CakePHP hjälper dig också att separera affärslogik från datalagret och presentationslagret.
Varför använda CakePHP Framework?
Här är de främsta fördelarna/fördelarna med att använda CakePHP-ramverket:
- CakePHP är utan tvekan en av de snabbaste webbutvecklingsplattformarna.
- CakePHP tillåter utvecklare att få förbättrad kontroll över databasen och SQL-frågor.
- Det hjälper användare att snabbt utveckla robusta webbapplikationer utan att förlora sin miljöflexibilitet.
- Stöd för PostgreSQL, SQLite, MySQLoch PEAR-DB för ADODB, en databasabstrakttractionbibliotek.
- Underlättar sökmotorvänligt URLs.
- Erbjuder funktioner som inmatningsvalidering och saneringsverktyg som gör appen säker.
- Mallar med välbekant PHP-syntax.
Hur man installerar CakePHP
Det rekommenderade sättet att installera CakePHP är med Composer, PHP-beroendehanteraren. När Composer är installerat, kör kommandot nedan för att skapa ett nytt projektskelett.
composer create-project --prefer-dist cakephp/app:~5.0 my_app
Kommandot laddar ner CakePHP och dess beroenden till en mapp med namnet my_app. Du kan sedan starta den inbyggda servern med bin/cake server och öppna http://localhost:8765 i din webbläsare. Observera att CakePHP 5 kräver PHP 8.1 eller senare.
Historien om CakePHP
I den här CakePHP-handledningen kommer vi att gå igenom historien bakom CakePHP-ramverket:
| År | Milestone |
|---|---|
| 2005 | CakePHP utvecklades av Michal Tatarynowicz den 15 april 2005. |
| 2005 | CakePHP publicerade den under MIT-licensen och öppnade den för community-utvecklare. |
| 2005 | Larry E Masters tog över som huvudutvecklare. |
| 2006 | Version 1.0 släpptes. |
| 2011 | Version 2 släpptes. |
| 2014 | Version 3 släpptes, en fullständig omskrivning av tidigare versioner. |
| 2016 | Version 3.3 av CakePHP släpptes med många avancerade funktioner. |
| 2019 | Version 4.0 släpptes, vilket moderniserade ramverket. |
| 2023 | CakePHP 5.0 släpptes och kräver PHP 8.1 eller senare. Den nuvarande utgåvan från 2026 är CakePHP 5.3.x. |
Funktioner i CakePHP
Här är viktiga funktioner i CakePHP.
- Aktiv, vänlig gemenskap
- MVC-arkitektur
- Inbyggd validering
- Fungerar från vilken webbplatskatalog som helst, med viss eller ingen Apache-konfiguration inblandad.
- Mallmotor
- Cachningsåtgärder
- Enkla interaktioner med CRUD-databasen
- Hantera komponenter som e-post, cookies, säkerhet, session och förfrågningar
- Visa hjälpare för JavaScript, Ajax, HTML-formulär och mer
CakePHP- Mappstruktur
Nu i denna handledning för CakePHP-ramverket kommer vi att lära oss om CakePHP-mappstrukturen.
Nedan är en mappstruktur för CakePHP:
| mapp | BESKRIVNING |
|---|---|
| Tester | Den här mappen innehåller testfall för din applikation. |
| tmp | Tmp-mappen lagrar tillfällig data. |
| Leverantör | Den här mappen är där CakePHP och andra programberoenden installeras. |
| Webroot | Webbroten lagrar alla filer som du vill ska vara offentligt tillgängliga. |
| Bin | Bin-mappen innehåller Cake-konsolens körbara filer. |
| Loggar | Den innehåller dina loggfiler, vilka är beroende av din loggkonfiguration. |
| Konfig | Konfigurationsmappen lagrar de konfigurationsfiler som CakePHP använder. |
| Insticksprogram | Det är här de plugins som din applikation använder lagras. |
| src | Den innehåller koden för din applikation, såsom kontroller, entiteter och beteenden. Språk lagrar strängfiler för internationalisering, och Modell innehåller din applikations tabeller, entiteter och beteenden. |
Konfiguration av CakePHP
CakePHP kommer med en enda konfigurationsfil som standard. Det låter dig också ändra det enligt dina krav. Det finns en mapp som heter "config" för detta ändamål.
| Variabelnamn | BESKRIVNING |
|---|---|
| Felsök | Låter dig ändra CakePHP-felsökningsutdata. |
| App namn | Hjälper dig att hitta appklasserna. |
| App.baseUrl | Ta bort det här nyckelordet när du inte vill använda Apaches mod_rewrite med CakePHP. |
| App.kodning | Låter dig definiera vilken kodning din applikation använder. |
| App.base | Det är baskatalogen som appen finns i. Om värdet är falskt kommer detta att upptäckas automatiskt. |
| App.fullBaseUrl | Fullt kvalificerat domännamn. |
| App.webroot | Det är webrotkatalogen. |
| App.wwwRoot | Filsökvägen till webroot. |
| App.jsBaseUrl | Sökväg till den offentliga js-katalogen. |
| App.sökvägar | Konfigurera sökvägar för icke-klassbaserade resurser. |
| App.cssBaseUrl | Det är webbsökvägen till den publika CSS-katalogen under webroot. |
| Säkerhetssalt | Det är en slumpmässig sträng som används i hash. |
| Asset.timestamp | Denna variabel lägger till en tidsstämpel när rätt hjälpare används. |
Cake- PHP-namnkonventioner
Cake följer idén om konvention framför konfiguration. Namngivningskonventionen låter dig organisera webbapplikationens drift. I den här metoden måste mer än ett ord i ett namn separeras med "_" när filen namnges, och camel case när klassen namnges.
MVC-delarna måste följa syntaxen nedan:
| FILNAMN | Klassnamn | Basklassnamn | Plats | |
|---|---|---|---|---|
| Modell | Singularform av tabellnamnet med filändelsen .php, t.ex. order.php | Filnamnet i Camel-fodralet, t.ex.: Order | Appmodell | /app/modeller |
| Regulator | tabellnamn_controller med filändelsen .php, t.ex. orders_controller.php | Tabellnamnet tillagt med Controller, t.ex.: OrdersController | AppController | /app/kontroller |
| Visa | Åtgärdsnamnet i kontrollenheten med filändelsen .ctp, t.ex. add.ctp | Inga klasser; en vy innehåller HTML-taggar och PHP. | /app/views/controllernamn |
Databaskonfiguration
CakePHP låter dig konfigurera databasen i config/app.php fil. Den tillhandahåller en standardanslutning med parametrar som du kan ändra efter eget tycke.
Viktiga parametrar ges nedan:
| Parameter | BESKRIVNING |
|---|---|
| port (valfritt) | TCP-porten eller Unix-uttaget som används för att ansluta till servern. |
| Tidszon | Servertidszon att ställa in. |
| Schema | Det hjälper dig att specificera vilket schema du kan använda. |
| unix_socket | Används av drivrutiner för att ansluta via Unix socket-filer. |
| ssl_nyckel | Det är sökvägen till SSL-nyckelfilen. |
| ssl_cert | Det är sökvägen till SSL-certifikatfilen. |
| ssl_ca | Det är filsökvägen till SSL-certifikatutfärdaren. |
| Logga | Denna term hjälper dig att utföra frågeloggning. |
| I det | En lista över frågor som ska skickas till databasservern när anslutningen skapas. |
| citatIdentifierare | Ställ in på sant om du vill använda reserverade ord eller specialtecken. |
Hur fungerar MVC i CakePHP?
Nu ska vi lära oss hur MVC fungerar i CakePHP i den här handledningen för CakePHP-ramverket.
Det är ett dynamiskt sätt att bygga den primära mekanismen för en webbapplikation. Modellen, vyn och kontrollenheten är separata från varandra.

CakePHP delar upp operationer i tre delar:
- Modeller: Används för alla databasinteraktioner.
- Visningar: Används för alla utdata och skärmar.
- Styrenheter: Används för att styra applikationsflödet.
Här är stegen för att använda MVC-arkitekturen i CakePHP:
Steg 1) Klienten eller användaren interagerar med vyn.
Steg 2) Vyn varnar kontrollanten om den specifika händelsen.
Steg 3) Styrenheten skickar en databasförfrågan till modellen och uppdaterar modellen.
Steg 4) Modellen varnar för vyn att den har ändrats.
Steg 5) Vyn tar emot modelldata och uppdaterar sig själv enligt den mottagna datan.
Varför använda MVC?
- CakePHP MVC hjälper dig att separera affärslogik från presentation och datahämtning.
- En webbplats är uppdelad i logiska sektioner som du kan styra med en specifik styrenhet.
- Vid testning och felsökning av en applikation kan vilken utvecklare som helst hitta och korrigera fel utan att ha fullständiga detaljer om koden.
Nackdelar med att använda CakePHP-ramverket
- Dokumentationsstödet för CakePHP är inte så omfattande som det borde vara.
- För att använda CakePHP måste utvecklaren uppdatera standardvägarna för att skapa snygga verktyg. URLs, vilket är mer arbete jämfört med vissa andra PHP-ramverk.
- CakePHP använder enkelriktad routing jämfört med andra ramverk.
- Lära sig PHP Ramverket är inte alltid lätt för nybörjare.
- Enkelriktad routing är en annan nackdel jämfört med ramverk som Ruby on Rails.
