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

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.
