CakePHP-opastus aloittelijoille: Mikä on CakePHP Framework?

⚡ Älykäs yhteenveto

CakePHP-opetusohjelma kattaa avoimen lähdekoodin PHP-kehyksen nopeaan, MVC-pohjaiseen web-sovelluskehitykseen. Tämä opetusohjelma selittää, mikä CakePHP on, miksi tiimit valitsevat sen, miten se asennetaan, sen kansiorakenne ja konfigurointi, nimeämiskäytännöt ja miten Model-View-Controller-malli ohjaa CakePHP-sovellusta.

  • 🎂 Mikä CakePHP on: CakePHP on avoimen lähdekoodin MVC-kehys, joka rakentaa ja ylläpitää PHP-verkkosovelluksia vähemmällä koodilla.
  • ⚡ Miksi käyttää sitä: Se tarjoaa nopeaa kehitystä, tietokannan absorptiotatracsisäänrakennettu validointi ja hakukoneystävällinen URLsuoraan laatikosta.
  • 📦 Asennus: Composer asentaa CakePHP:n yhdellä create-project-komennolla; nykyinen versio 5 vaatii PHP 8.1:n tai uudemman.
  • 📁 Kansiorakenne: Tyhjennä kansiot erittelemällä lähdekoodin, määritykset, testit, lokit, laajennukset ja julkisen webrootin ylläpidettävyyden takaamiseksi.
  • 🔤 Yleissopimukset: Konfigurointikäytäntö tarkoittaa, että mallien, ohjainten ja näkymien johdonmukainen nimeäminen vähentää tyypillistä käsitystä.
  • 🔁 MVC-virtaus: Mallit käsittelevät dataa, näkymät käsittelevät tulostetta ja ohjaimet reitittävät virtauksen, pidäping huolenaiheet selkeästi erillään.
  • 🤖 AI Assist: Tekoälytyökalut voivat tukea CakePHP CRUD -sovelluksia ja auttaa vanhemman CakePHP-projektin siirtämisessä versioon 5.

CakePHP-opetusohjelma

Mikä on CakePHP?

cakePHP on avoimen lähdekoodin sovelluskehys PHP:llä rakennettujen web-sovellusten nopeaan kehittämiseen ja ylläpitoon. Se perustuu MVC-arkkitehtuuriin, jonka avulla PHP-web-sovelluksia voidaan rakentaa helposti ja yksinkertaisesti vähemmällä koodilla. CakePHP auttaa myös erottamaan liiketoimintalogiikan datakerroksesta ja esityskerroksesta.

Miksi käyttää CakePHP Frameworkia?

Tässä ovat CakePHP-kehyksen käytön tärkeimmät hyödyt/hyvät puolet:

  • CakePHP on ylivoimaisesti yksi nopeimmista web-kehitysalustoista.
  • CakePHP:n avulla kehittäjät voivat hallita paremmin tietokantaa ja SQL-kyselyitä.
  • Se auttaa käyttäjiä kehittämään nopeasti vankkoja verkkosovelluksia menettämättä ympäristön joustavuutta.
  • Tuki PostgreSQL, SQLite, MySQLja PEAR-DB ADODB:lle, joka on tietokanta-abstraction-kirjasto.
  • Helpottaa hakukoneystävällisyyttä URLs.
  • Tarjoaa ominaisuuksia, kuten syötteen validointi ja puhdistustyökalut, jotka tekevät sovelluksesta turvallisen.
  • Mallintaminen tutulla PHP-syntaksilla.

CakePHP:n asentaminen

Suositeltu tapa asentaa CakePHP on Composerilla, PHP:n riippuvuuksien hallintaohjelmalla. Kun Composer on asennettu, suorita alla oleva komento luodaksesi uuden projektirungon.

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

Komento lataa CakePHP:n ja sen riippuvuudet my_app-nimiseen kansioon. Voit sitten käynnistää sisäänrakennetun palvelimen komennolla bin/cake server ja avaa http://localhost:8765 selaimessasi. Huomaa, että CakePHP 5 vaatii PHP 8.1:n tai uudemman.

CakePHP:n historia

Tässä CakePHP-tutoriaalissa käymme läpi CakePHP-kehyksen historian:

Vuosi Virstanpylväs
2005 CakePHP:n kehitti Michal Tatarynowicz 15. huhtikuuta 2005.
2005 CakePHP julkaisi sen MIT-lisenssillä ja avasi sen yhteisön kehittäjille.
2005 Larry E Masters otti pääkehittäjäksi.
2006 Versio 1.0 julkaistiin.
2011 Versio 2 julkaistiin.
2014 Versio 3 julkaistiin, joka on aiempien versioiden täydellinen uudelleenkirjoitus.
2016 CakePHP:n versio 3.3 julkaistiin monine edistyneine ominaisuuksineen.
2019 Versio 4.0 julkaistiin, ja se modernisoi kehystä.
2023 CakePHP 5.0 julkaistiin, ja se vaatii PHP 8.1:n tai uudemman. Nykyinen julkaisu vuonna 2026 on CakePHP 5.3.x.

CakePHP:n ominaisuudet

Tässä on CakePHP:n tärkeitä ominaisuuksia.

  • Aktiivinen, ystävällinen yhteisö
  • MVC-arkkitehtuuri
  • Sisäänrakennettu validointi
  • Toimii mistä tahansa verkkosivustohakemistosta, ja siihen voi liittyä jonkin verran tai ei lainkaan Apachen määrityksiä.
  • Mallinemoottori
  • Välimuistitoiminnot
  • Helppo CRUD-tietokannan vuorovaikutus
  • Käsittelykomponentit, kuten sähköposti, eväste, suojaus, istunto ja pyyntö
  • Näytä apuohjelmat kohteelle JavaKäsikirjoitus, Ajax, HTML-lomakkeita ja paljon muuta

CakePHP- Kansiorakenne

Nyt tässä CakePHP-kehyksen opetusohjelmassa opimme CakePHP-kansiorakenteesta.

Alla on CakePHP:n kansiorakenne:

Kansio Tuotetiedot
Testit Tämä kansio sisältää testitapauksia sovelluksellesi.
tmp Tmp-kansio tallentaa väliaikaisia ​​tietoja.
Myyjä Tähän kansioon CakePHP ja muut sovellusriippuvuudet asennetaan.
Webroot Webroot tallentaa kaikki tiedostot, joiden haluat olevan julkisesti saatavilla.
Astia bin-kansio sisältää Cake-konsolin suoritettavat tiedostot.
Lokit Se sisältää lokitiedostosi, jotka riippuvat lokiasetuksistasi.
Config Config-kansio tallentaa CakePHP:n käyttämät asetustiedostot.
plugins Täällä tallennetaan sovelluksesi käyttämät laajennukset.
src Se sisältää sovelluksesi koodin, kuten ohjaimet, entiteetit ja toimintamallit. Locale tallentaa merkkijonotiedostoja kansainvälistämistä varten, ja Model sisältää sovelluksesi taulukot, entiteetit ja toimintamallit.

CakePHP:n asetukset

CakePHP:n mukana tulee oletusarvoisesti yksi asetustiedosto. Sen avulla voit myös muokata sitä tarpeidesi mukaan. Tätä tarkoitusta varten on kansio nimeltä "config".

Muuttujan nimi Tuotetiedot
Debug Voit muuttaa CakePHP-virheenkorjaustulosta.
App.namespace Auttaa sinua löytämään sovellusluokat.
App.baseUrl Poista tämän avainsanan kommentti, jos et halua käyttää Apachen mod_rewrite-komentoa CakePHP:n kanssa.
App.koodaus Voit määrittää sovelluksesi käyttämän koodauksen.
App.base Se on sovelluksen perushakemisto. Jos arvo on epätosi, se tunnistetaan automaattisesti.
App.fullBaseUrl Täysin hyväksytty verkkotunnusnimi.
App.webroot Se on webroot-hakemisto.
App.wwwRoot Tiedoston polku webrootiin.
App.jsBaseUrl Polku julkiseen js-hakemistoon.
App.paths Määritä polut muille kuin luokkapohjaisille resursseille.
App.cssBaseUrl Se on web-polku julkiseen CSS-hakemistoon webroot-katto-oikeuden alla.
Turvallisuus.suola Se on satunnainen merkkijono, jota käytetään hashissa.
Asset.timestamp Tämä muuttuja lisää aikaleiman käytettäessä oikeita apufunktioita.

Cake- PHP nimeämiskäytännöt

Cake noudattaa konfiguroinnin sijaan konventioiden ideaa. Nimeämiskäytäntö mahdollistaa web-sovelluksen toiminnan organisoinnin. Tässä menetelmässä useamman kuin yhden sanan nimessä on erotettava toisistaan ​​merkeillä "_" tiedostoa nimettäessä ja kirjainkoolla camel Class-luokkaa nimettäessä.

MVC-osien on noudatettava alla olevaa syntaksia:

Tiedoston nimi Luokan nimi Perusluokan nimi Sijainti
Malli Taulukon nimen yksikkömuoto, jossa on .php-pääte, esim. order.php Tiedoston nimi camel-kirjaimella, esim. Tilaus AppModel /app/mallit
ohjain tablename_controller, jonka tiedostopääte on .php, esim. orders_controller.php Taulukon nimi, johon on lisätty Controller, esim. OrdersController AppController /app/ohjaimet
Näytä Toiminnon nimi ohjaimessa .ctp-päätteellä, esim. add.ctp Ei luokkia; näkymä sisältää HTML-tageja ja PHP:tä. /app/views/ohjaimen nimi

Tietokantojen konfigurointi

CakePHP:ssä voit määrittää tietokannan config/app.php tiedosto. Se tarjoaa oletusyhteyden annetuilla parametreilla, joita voit muokata haluamallasi tavalla.

Tärkeät parametrit on annettu alla:

Parametri Tuotetiedot
portti (valinnainen) TCP-portti tai Unix-liitäntä, jota käytetään yhteyden muodostamiseen palvelimeen.
Aikavyöhyke Palvelimen aikavyöhyke asetettava.
Malli Se auttaa sinua määrittämään, mitä kaavaa voit käyttää.
unix_socket Ajurit käyttävät tätä Unix-socket-tiedostojen kautta tapahtuvaan yhteyden muodostamiseen.
ssl_avain Se on SSL-avaintiedoston tiedostopolku.
ssl_cert Se on SSL-varmennetiedoston tiedostopolku.
ssl_ca Se on SSL-varmenteen myöntäjän tiedostopolku.
Kirjaudu Tämä termi auttaa sinua suorittamaan kyselyjen kirjaamista.
Sen sisällä Luettelo kyselyistä, jotka tulee lähettää tietokantapalvelimelle aina, kun yhteys luodaan.
lainaustunnisteet Aseta arvoksi true, jos haluat käyttää varattuja sanoja tai erikoismerkkejä.

Kuinka MVC toimii CakePHP:ssä?

Tässä CakePHP-kehysopetusohjelmassa opimme nyt, miten MVC toimii CakePHP:ssä.

Se on dynaaminen tapa rakentaa web-sovelluksen päämekanismi. Malli, näkymä ja ohjain ovat erillään toisistaan.

MVC-arkkitehtuuri CakePHP:ssä
MVC-arkkitehtuuri CakePHP:ssä

CakePHP jakaa toiminnot kolmeen osaan:

  • Mallit: Käytetään kaikkeen tietokantavuorovaikutukseen.
  • Näkymät: Käytetään kaikille ulostuloille ja näytöille.
  • Ohjaimet: Käytetään sovelluksen virtauksen ohjaamiseen.

Tässä ovat vaiheet MVC-arkkitehtuurin käyttämiseksi CakePHP:ssä:

Vaihe 1) Asiakas tai käyttäjä on vuorovaikutuksessa näkymän kanssa.

Vaihe 2) Näkymä ilmoittaa ohjaimelle tietystä tapahtumasta.

Vaihe 3) Ohjain lähettää tietokantapyynnön mallille ja päivittää mallin.

Vaihe 4) Malli ilmoittaa näkymälle muutoksesta.

Vaihe 5) Näkymä vastaanottaa mallitiedot ja päivittää itsensä vastaanotetun tiedon mukaisesti.

Miksi käyttää MVC:tä?

  • CakePHP MVC auttaa sinua erottamaan liiketoimintalogiikan esityksistä ja tiedonhausta.
  • Sivusto on jaettu loogisiin osiin, joita voit hallita tietyllä ohjaimella.
  • Sovellusta testatessaan ja virheenkorjauksessa kuka tahansa kehittäjä voi paikantaa ja korjata virheitä ilman täydellisiä tietoja koodista.

CakePHP-kehyksen käytön haitat

  • CakePHP:n dokumentaatiotuki ei ole niin kattava kuin sen pitäisi olla.
  • CakePHP:n käyttämiseksi kehittäjän on päivitettävä oletusreitit hienostuneiden sisältöjen luomista varten. URLs, mikä on enemmän työtä verrattuna joihinkin muihin PHP-kehyksiin.
  • CakePHP käyttää yksisuuntaista reititystä verrattuna muihin frameworkeihin.
  • PHP:n oppiminen Kehys ei ole aina helppo aloittelijoille.
  • Yksisuuntainen reititys on toinen haittapuoli verrattuna frameworkeihin, kuten Ruby on Rails.

UKK

Kyllä, olemassa olevien CakePHP-projektien ylläpitoon ja tiimeille, jotka arvostavat sen käytäntöihin perustuvaa konfigurointia. Laravelilla ja Symfonylla on suuremmat yhteisöt, mutta CakePHP 5:tä ylläpidetään aktiivisesti, ja se on edelleen vankka ja tuottava kehys.

Molemmat ovat MVC PHP -kehyksiä. Laravelilla on laajempi ekosysteemi, ilmeikäs syntaksi ja Eloquent ORM. CakePHP korostaa tiukkoja käytäntöjä ja nopeaa scaffoldingia vähemmällä konfiguroinnilla. Laravel on suositumpi; CakePHP voi käynnistää perinteisen sovelluksen nopeammin.

CakePHP 5, nykyinen pääversio, vaatii PHP 8.1:n tai uudemman. Vanhempi CakePHP 4 tuki PHP 7.4:ää ja uudempia, mutta sen käyttöikä on päättymässä, joten uusien projektien tulisi keskittyä CakePHP 5:een modernissa PHP-julkaisussa.

Kyllä. Tekoäly voi luoda CRUD-resurssin migraation, entiteetin, taulukon, ohjaimen ja mallit CakePHP-käytäntöjä noudattaen ja selittää bake-konsolin komennot. RevKatso validointisäännöt ja testaa jokainen toiminto.

Kyllä. Tekoäly voi merkitä vanhentuneita metodeja, päivitettyjä nimiavaruuksia ja allekirjoitusmuutoksia ja ehdottaa korvaavia menetelmiä vaiheittain. Koska migraatiot ovat suuria, päivitä vaiheittain ja suorita testipaketti jokaisen muutoksen jälkeen.

Tiivistä tämä viesti seuraavasti: