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 Description
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 Description
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
Specifikation 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.