CakePHP õpetus algajatele: mis on CakePHP raamistik?

⚡ Nutikas kokkuvõte

CakePHP õpetus hõlmab avatud lähtekoodiga PHP raamistikku kiireks, MVC-põhiseks veebirakenduste arendamiseks. See õpetus selgitab, mis on CakePHP, miks meeskonnad seda valivad, kuidas seda installida, selle kaustastruktuuri ja konfiguratsiooni, nimetamiskonventsioone ning kuidas Model-View-Controller muster CakePHP rakendust juhib.

  • 🎂 Mis on CakePHP: CakePHP on avatud lähtekoodiga MVC raamistik, mis loob ja haldab PHP veebirakendusi väiksema koodiga.
  • Miks seda kasutada: See pakub kiiret arendust, andmebaasi abstractsioon, sisseehitatud valideerimine ja otsingumootoritele sobiv URLkarbist väljas.
  • 📦 Paigaldus: Composer installib CakePHP ühe create-project käsuga; praegune versioon 5 nõuab PHP 8.1 või uuemat.
  • 📁 Kausta struktuur: Tühjad kaustad eraldavad hooldatavuse huvides lähtekoodi, konfiguratsiooni, teste, logisid, pluginaid ja avaliku veebijuure.
  • 🔤 Konventsioonid: Konfiguratsiooni konventsioon tähendab mudelite, kontrollerite ja vaadete ühtset nimetamist, mis vähendab standardset lähenemist.
  • 🔁 MVC voog: Mudelid käsitlevad andmeid, vaated käsitlevad väljundit ja kontrollerid suunavad voogu, keeping mured selgelt eraldatud.
  • 🤖 Tehisintellekti abi: Tehisintellekti tööriistad saavad toetada CakePHP CRUD rakendusi ja aidata vanemat CakePHP projekti versioonile 5 migreerida.

CakePHP õpetus

Mis on CakePHP?

CakePHP on avatud lähtekoodiga raamistik PHP-s ehitatud veebirakenduste kiireks arendamiseks ja hooldamiseks. See põhineb MVC arhitektuuri kontseptsioonil, mis aitab PHP veebirakendusi hõlpsalt ja lihtsalt luua väiksema koodiga. CakePHP aitab teil ka äriloogikat andmekihist ja esitluskihist eraldada.

Miks kasutada CakePHP Frameworki?

Siin on CakePHP raamistiku kasutamise peamised eelised/plussid:

  • CakePHP on üks kiiremaid veebiarendusplatvorme.
  • CakePHP võimaldab arendajatel saada andmebaasi ja SQL-päringute üle paremat kontrolli.
  • See aitab kasutajatel kiiresti luua vastupidavaid veebirakendusi, kaotamata seejuures keskkonna paindlikkust.
  • Toetus PostgreSQL, SQLite, MySQLja PEAR-DB ADODB jaoks, mis on andmebaas, mistractsiooni raamatukogu.
  • Hõlbustab otsingumootoritele sobivat kasutamist URLs.
  • Pakub funktsioone, nagu sisendi valideerimine ja puhastusvahendid, mis muudavad rakenduse turvaliseks.
  • Mallide loomine tuttava PHP süntaksiga.

Kuidas CakePHP-d paigaldada

CakePHP installimiseks on soovitatav kasutada PHP sõltuvuste haldurit Composer. Kui Composer on installitud, käivitage allolev käsk uue projekti skeleti loomiseks.

composer create-project --prefer-dist cakephp/app:~5.0 my_app

Käsk laadib CakePHP ja selle sõltuvused kausta nimega my_app. Seejärel saate sisseehitatud serveri käivitada bin/cake server ja avage oma brauseris http://localhost:8765. Pange tähele, et CakePHP 5 nõuab PHP 8.1 või uuemat versiooni.

CakePHP ajalugu

Selles CakePHP õpetuses käsitleme CakePHP raamistiku ajalugu:

Tootmisaasta Teetähis
2005 CakePHP töötas välja Michal Tatarynowicz 15. aprillil 2005. aastal.
2005 CakePHP avaldas selle MIT litsentsi all ja avas selle kogukonna arendajatele.
2005 Larry E Masters asus juhtarendajana.
2006 Versioon 1.0 ilmus.
2011 Versioon 2 ilmus.
2014 Välja anti versioon 3, mis on varasemate versioonide täielik ümberkirjutus.
2016 CakePHP versioon 3.3 ilmus paljude täiustatud funktsioonidega.
2019 Välja anti versioon 4.0, mis kaasajastas raamistikku.
2023 Välja anti CakePHP 5.0, mis nõuab PHP 8.1 või uuemat versiooni. Praegune versioon aastast 2026 on CakePHP 5.3.x.

CakePHP omadused

Siin on CakePHP olulised funktsioonid.

  • Aktiivne, sõbralik seltskond
  • MVC arhitektuur
  • Sisseehitatud valideerimine
  • Töötab mis tahes veebisaidi kataloogist, kaasates või mitte kaasates Apache'i konfiguratsiooni.
  • Mallimootor
  • Vahemälu toimingud
  • Lihtsad CRUD andmebaasi interaktsioonid
  • Komponentide, näiteks e-posti, küpsise, turvalisuse, seansi ja päringu haldamine
  • Kuva abilised saidile JavaScript, Ajax, HTML-vormid ja palju muud

CakePHP- kausta struktuur

Nüüd selles CakePHP raamistiku õpetuses õpime tundma CakePHP kaustastruktuuri.

Allpool on CakePHP kaustastruktuur:

Folder Kirjeldus
Testid See kaust sisaldab teie rakenduse testjuhtumeid.
Tmp Ajutised andmed salvestatakse kausta tmp.
Müüja See kaust on koht, kuhu installitakse CakePHP ja muud rakenduse sõltuvused.
Webroot Webroot salvestab kõik failid, millele soovite avalikult ligipääsetava teha.
Salv bin kaust sisaldab Cake'i konsooli käivitatavaid faile.
Logid See sisaldab teie logifaile, mis sõltuvad teie logi konfiguratsioonist.
config Konfiguratsioonikaust salvestab CakePHP poolt kasutatavad konfiguratsioonifailid.
plugins Siin hoitakse teie rakenduse kasutatavaid pluginasid.
Sr. See sisaldab teie rakenduse koodi, näiteks kontrollereid, üksusi ja käitumismustreid. Locale salvestab stringifaile rahvusvahelistamise jaoks ja Model sisaldab teie rakenduse tabeleid, üksusi ja käitumismustreid.

CakePHP konfigureerimine

Vaikimisi on CakePHP-ga kaasas üks konfiguratsioonifail. See võimaldab teil ka seda vastavalt oma vajadustele muuta. Selleks on antud kaust nimega “config”.

Muutuja nimi Kirjeldus
siluda Võimaldab muuta CakePHP silumisväljundit.
Rakenduse nimeruum Aitab teil leida rakenduse klasse.
App.baseUrl Tühistage selle märksõna kommentaarid, kui te ei soovi CakePHP-ga kasutada Apache mod_rewrite'i.
App.kodeering Võimaldab teil määrata, millist kodeeringut teie rakendus kasutab.
App.base See on rakenduse baaskataloog. Kui see on väär, tuvastatakse see automaatselt.
App.fullBaseUrl Täielikult kvalifitseeritud domeeninimi.
App.webroot See on veebijuure kataloog.
App.wwwRoot Failitee veebijuureni.
App.jsBaseUrl Tee avalikku js-i kataloogi.
App.paths Konfigureerige mitteklassipõhiste ressursside teed.
App.cssBaseUrl See on veebitee avaliku CSS-kataloogi juurde webroot-kausta all.
Turvalisus.sool See on juhuslik string, mida kasutatakse räsimisel.
Vara.ajatempel See muutuja lisab ajatempli õigete abimeeste kasutamisel.

Kook – PHP nimetustavad

Cake järgib konfigureerimise asemel konventsiooni ideed. Nimekonventsioon võimaldab teil korraldada veebirakenduse toimimist. Selle meetodi puhul tuleb faili nimetamisel mitu sõna eraldada tähisega "_" ja klassi nimetamisel camel-suurtähtedega.

MVC osad peavad järgima allolevat süntaksit:

File Name Klassi nimi Põhiklassi nimi Asukoht
MUDEL Tabeli nime ainsuse vorm laiendiga .php, nt: order.php Faili nimi kaameli tähesuuruses, nt: Tellimus AppModel /app/models
kontroller tablename_controller laiendiga .php, nt: orders_controller.php Tabeli nimi, millele on lisatud sõna "Controller", nt: OrdersController AppController /app/kontrollerid
vaade Toimingu nimi kontrolleris laiendiga .ctp, nt: add.ctp Klasse pole; vaade sisaldab HTML-silte ja PHP-d. /app/views/kontrolleri nimi

Andmebaaside konfigureerimine

CakePHP võimaldab teil andmebaasi konfigureerida config/app.php fail. See pakub vaikimisi ühendust etteantud parameetritega, mida saate vastavalt oma soovile muuta.

Olulised parameetrid on toodud allpool:

Parameeter Kirjeldus
port (valikuline) TCP-port või Unixi pesa, mida kasutatakse serveriga ühenduse loomiseks.
Ajavöönd Määratav serveri ajavöönd.
Skeem See aitab teil määrata, millist skeemi saate kasutada.
unix_socket Draiverid kasutavad ühenduse loomiseks Unixi soklifailide kaudu.
ssl_võti See on SSL-võtmefaili failitee.
ssl_cert See on SSL-sertifikaadi faili tee.
ssl_ca See on SSL-sertifikaadi väljastaja failitee.
Logi See termin aitab teil päringuid logida.
Selles Päringute loend, mis tuleb saata andmebaasiserverisse alati, kui ühendus luuakse.
tsitaadiidentifikaatorid Määrake väärtuseks tõene, kui soovite kasutada reserveeritud sõnu või erimärke.

Kuidas MVC CakePHP-s töötab?

Nüüd õpime selles CakePHP raamistiku õpetuses, kuidas MVC CakePHP-s töötab.

See on dünaamiline viis veebirakenduse põhimehhanismi loomiseks. Mudel, vaade ja kontroller on üksteisest eraldi.

MVC arhitektuur CakePHP-s
MVC arhitektuur CakePHP-s

CakePHP jagab toimingud kolmeks osaks:

  • Mudelid: kasutatakse kõigi andmebaasi interaktsioonide jaoks.
  • Vaated: kasutatakse kõigi väljundite ja kuvade jaoks.
  • Kontrollerid: Kasutatakse rakenduse voo juhtimiseks.

CakePHP-s MVC arhitektuuri kasutamiseks toimige järgmiselt.

Step 1) Klient või kasutaja suhtleb vaatega.

Step 2) Vaade teavitab kontrollerit konkreetsest sündmusest.

Step 3) Kontroller saadab mudelile andmebaasipäringu ja uuendab mudelit.

Step 4) Mudel annab vaatele märku, et see on muutunud.

Step 5) Vaade võtab vastu mudeli andmed ja uuendab end vastavalt vastuvõetud andmetele.

Miks kasutada MVC-d?

  • CakePHP MVC aitab teil eraldada äriloogika esitlusest ja andmete hankimisest.
  • Sait on jagatud loogilisteks osadeks, mida saate konkreetse kontrolleriga juhtida.
  • Rakenduse testimisel ja silumisel saab iga arendaja vigu leida ja parandada ilma koodi kohta täielikke andmeid omamata.

CakePHP raamistiku kasutamise puudused

  • CakePHP dokumentatsioonitugi pole nii põhjalik, kui see peaks olema.
  • CakePHP kasutamiseks peab arendaja uuendama keerukate rakenduste loomise vaikemarsruute. URLs, mis on võrreldes mõne teise PHP raamistikuga rohkem tööd.
  • CakePHP kasutab teiste raamistikega võrreldes ühesuunalist marsruutimist.
  • PHP õppimine Raamistik pole algajatele alati lihtne.
  • Ühesuunaline marsruutimine on veel üks puudus võrreldes selliste raamistikega nagu Ruby on Rails.

KKK

Jah, olemasolevate CakePHP projektide haldamiseks ja meeskondadele, kes hindavad selle konventsioone eelistavat konfiguratsioonile lähenemist. Laravelil ja Symfonyl on suuremad kogukonnad, kuid CakePHP 5-t hooldatakse aktiivselt ja see on endiselt kindel ja produktiivne raamistik.

Mõlemad on MVC PHP raamistikud. Laravelil on suurem ökosüsteem, ekspressiivne süntaks ja Eloquent ORM. CakePHP rõhutab rangeid konventsioone ja kiiret tellingute loomist vähema konfiguratsiooniga. Laravel on populaarsem; CakePHP abil saab tavapärase rakenduse kiiremini käivitada.

Praegune põhiversioon CakePHP 5 nõuab PHP 8.1 või uuemat. Vanem CakePHP 4 toetas PHP 7.4 ja uuemaid, kuid selle eluiga on lõppemas, seega peaksid uued projektid keskenduma CakePHP 5-le kaasaegses PHP versioonis.

Jah. Tehisintellekt suudab CakePHP konventsioone järgides genereerida CRUD-ressursi migratsiooni, üksuse, tabeli, kontrolleri ja mallid ning selgitada bake-konsooli käske. RevVaadake valideerimisreegleid ja testige iga toimingut.

Jah. Tehisintellekt saab märgistada aegunud meetodeid, uuendatud nimeruume ja signatuurimuudatusi ning soovitada samm-sammult asendusi. Kuna migratsioonid on mahukad, tuleks uuendada järk-järgult ja käivitada testimiskomplekt pärast iga muudatust.

Võta see postitus kokku järgmiselt: