CakePHP Tutorial pro začátečníky: Co je CakePHP Framework?

⚡ Chytré shrnutí

Tutoriál o CakePHP se zabývá open-source PHP frameworkem pro rychlý vývoj webových aplikací založených na MVC. Tento tutoriál vysvětluje, co je CakePHP, proč si ho týmy vybírají, jak ho nainstalovat, jeho strukturu a konfiguraci složek, konvence pojmenování a jak vzor Model-View-Controller řídí aplikaci CakePHP.

  • 🎂 Co je CakePHP: CakePHP je open-source MVC framework, který vytváří a spravuje webové aplikace v PHP s menším množstvím kódu.
  • Proč to používat: Nabízí rychlý vývoj, databázové abstracce, vestavěné ověřování a optimalizace pro vyhledávače URLje ihned po vybalení z krabice.
  • ???? Instalace: Composer instaluje CakePHP jedním příkazem create-project; aktuální verze 5 vyžaduje PHP 8.1 nebo novější.
  • 📁 Struktura složky: Vymazání složek odděluje zdrojový kód, konfiguraci, testy, protokoly, pluginy a veřejný webroot pro snazší údržbu.
  • 🔤 Konvence: Konvence oproti konfiguraci znamená, že konzistentní pojmenování modelů, řadičů a pohledů snižuje standardizovanou funkcionalitu.
  • 🔁 Tok MVC: Modely zpracovávají data, pohledy zpracovávají výstup a kontrolery směrují tok, udržujíping obavy jasně oddělené.
  • 🤖 AI Assist: Nástroje umělé inteligence mohou vytvářet aplikace CakePHP CRUD a pomáhat s migrací staršího projektu CakePHP do verze 5.

Výukový program CakePHP

Co je CakePHP?

CakePHP je open-source framework pro rychlý vývoj a údržbu webových aplikací vytvořených v PHP. Je založen na konceptu architektury MVC, která pomáhá snadno a jednoduše vytvářet webové aplikace v PHP s menším množstvím kódu. CakePHP vám také pomůže oddělit obchodní logiku od datové a prezentační vrstvy.

Proč používat CakePHP Framework?

Zde jsou hlavní výhody/klady používání frameworku CakePHP:

  • CakePHP je zdaleka jednou z nejrychlejších platforem pro vývoj webových stránek.
  • CakePHP umožňuje vývojářům získat lepší kontrolu nad databází a SQL dotazy.
  • Pomáhá uživatelům rychle vyvíjet robustní webové aplikace bez ztráty flexibility jejich prostředí.
  • Podpora PostgreSQL, SQLite, MySQLa PEAR-DB pro ADODB, databázi abstracknihovna.
  • Usnadňuje optimalizaci pro vyhledávače URLs.
  • Poskytuje funkce, jako je ověřování vstupu a nástroje pro sanitizaci, které zajišťují bezpečnost aplikace.
  • Šablony se známou syntaxí PHP.

Jak nainstalovat CakePHP

Doporučený způsob instalace CakePHP je pomocí Composeru, správce závislostí PHP. Po instalaci Composeru spusťte níže uvedený příkaz pro vytvoření nové kostrové struktury projektu.

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

Příkaz stáhne CakePHP a jeho závislosti do složky s názvem my_app. Vestavěný server pak můžete spustit pomocí bin/cake server a otevřete http://localhost:8765 ve vašem prohlížeči. CakePHP 5 vyžaduje PHP 8.1 nebo novější.

Historie CakePHP

V tomto tutoriálu o CakePHP se nyní podíváme na historii frameworku CakePHP:

Rok výroby Milestone
2005 CakePHP vyvinul Michal Tatarynowicz 15. dubna 2005.
2005 CakePHP jej publikoval pod licencí MIT a zpřístupnil ho komunitním vývojářům.
2005 Larry E Masters převzal roli hlavního vývojáře.
2006 Byla vydána verze 1.0.
2011 Byla vydána verze 2.
2014 Byla vydána verze 3, kompletní přepracování dřívějších verzí.
2016 Verze 3.3 CakePHP byla vydána s mnoha pokročilými funkcemi.
2019 Byla vydána verze 4.0, která modernizovala framework.
2023 Byla vydána verze CakePHP 5.0, která vyžaduje PHP 8.1 nebo novější. Aktuální verzí v roce 2026 je CakePHP 5.3.x.

Vlastnosti CakePHP

Zde jsou důležité funkce CakePHP.

  • Aktivní, přátelská komunita
  • architektura MVC
  • Vestavěné ověřování
  • Funguje z libovolného adresáře webových stránek, s částečnou nebo žádnou konfigurací Apache.
  • Šablonový engine
  • Operace ukládání do mezipaměti
  • Snadné interakce s databází CRUD
  • Zpracování komponent, jako jsou e-mail, soubory cookie, zabezpečení, relace a požadavky
  • Zobrazit pomocníky pro JavaScénář, Ajax, HTML formuláře a další

CakePHP- Struktura složek

Nyní se v tomto tutoriálu CakePHP frameworku seznámíme se strukturou složek CakePHP.

Níže je struktura složek CakePHP:

Desky Description
Zkoušky Tato složka obsahuje testovací případy pro vaši aplikaci.
tmp Složka tmp ukládá dočasná data.
Prodejce V této složce je nainstalován CakePHP a další závislosti aplikací.
Webroot Webroot ukládá všechny soubory, které chcete zveřejnit.
Popelnice Složka bin obsahuje spustitelné soubory konzoly Cake.
Záznamy Obsahuje vaše soubory protokolu, které závisí na vaší konfiguraci protokolu.
Config Složka config ukládá konfigurační soubory, které CakePHP používá.
pluginy Zde jsou uloženy pluginy, které vaše aplikace používá.
Src Obsahuje kód vaší aplikace, jako jsou kontrolery, entity a chování. Locale ukládá řetězcové soubory pro internacionalizaci a Model obsahuje tabulky, entity a chování vaší aplikace.

Konfigurace CakePHP

CakePHP je standardně dodáván s jediným konfiguračním souborem. Umožňuje také upravit jej podle vašich požadavků. Pro tento účel existuje složka s názvem „config“.

Název proměnné Description
Ladit Umožňuje změnit výstup ladění CakePHP.
App.namespace Pomůže vám najít kurzy aplikace.
App.baseUrl Odkomentujte toto klíčové slovo, pokud nechcete používat mod_rewrite Apache s CakePHP.
Kódování aplikace Umožňuje definovat, jaké kódování vaše aplikace používá.
App.base Je to základní adresář, ve kterém se aplikace nachází. Pokud je hodnota false, bude tato hodnota automaticky detekována.
App.fullBaseUrl Plně kvalifikovaný název domény.
App.webroot Je to kořenový adresář webu.
App.wwwRoot Cesta k souboru webroot.
App.jsBaseUrl Cesta k veřejnému adresáři js.
App.paths Nakonfigurujte cesty pro prostředky, které nejsou založeny na třídě.
App.cssBaseUrl Je to webová cesta k veřejnému adresáři CSS v adresáři webroot.
Zabezpečení.sůl Je to náhodný řetězec používaný při hashování.
Aktiv.časové razítko Tato proměnná připojí časové razítko při použití správných pomocných funkcí.

Cake- PHP konvence pojmenování

Cake se řídí myšlenkou konvence nad konfigurací. Konvence pojmenování umožňuje organizovat provoz webové aplikace. V této metodě musí být více než jedno slovo v názvu odděleno znakem „_“ při pojmenování souboru a velkými a malými písmeny při pojmenování třídy.

Části MVC musí splňovat následující syntaxi:

Název souboru Jméno třídy Název základní třídy Aktuální poloha
Model Jednotné číslo názvu tabulky s příponou .php, např.: order.php Název souboru ve velkém písmenu camel, např.: Order AppModel /app/models
kontrolor tablename_controller s příponou .php, např.: orders_controller.php Název tabulky, ke kterému je připojen Controller, např.: OrdersController AppController /app/controllers
Zobrazit Název akce v kontroleru s příponou .ctp, např. add.ctp Žádné třídy; pohled obsahuje HTML tagy a PHP. /app/views/název kontroléru

Konfigurace databází

CakePHP umožňuje konfigurovat databázi v config/app.php soubor. Poskytuje výchozí připojení s danými parametry, které můžete upravit dle vlastního uvážení.

Důležité parametry jsou uvedeny níže:

Parametr Description
port (volitelný) TCP port nebo Unixový soket používaný pro připojení k serveru.
Časové pásmo Nastavení časového pásma serveru.
Schéma Pomůže vám určit, které schéma můžete použít.
zásuvka unix Používají ho ovladače pro připojení přes soubory Unixových soketů.
ssl_key Je to cesta k souboru s klíčem SSL.
ssl_cert Je to cesta k souboru SSL certifikátu.
ssl_ca Je to cesta k souboru k certifikační autoritě SSL.
Log Tento termín vám pomáhá provádět protokolování dotazů.
Init Seznam dotazů, které by měly být odeslány na databázový server při každém vytvoření připojení.
quoteIdentifiers Nastavte na hodnotu true, pokud chcete použít rezervovaná slova nebo speciální znaky.

Jak funguje MVC v CakePHP?

Nyní se v tomto tutoriálu o frameworku CakePHP naučíme, jak funguje MVC v CakePHP.

Je to dynamický způsob, jak vytvořit základní mechanismus webové aplikace. Model, pohled a kontroler jsou od sebe oddělené.

Architektura MVC v CakePHP
Architektura MVC v CakePHP

CakePHP rozděluje operace do tří částí:

  • Modely: Používá se pro všechny databázové interakce.
  • Zobrazení: Používá se pro všechny výstupy a displeje.
  • Kontroléry: Používají se k řízení toku aplikace.

Zde jsou kroky pro použití architektury MVC v CakePHP:

Krok 1) Klient nebo uživatel interaguje s pohledem.

Krok 2) Pohled upozorní kontrolér na konkrétní událost.

Krok 3) Řídicí jednotka odešle modelu požadavek do databáze a aktualizuje jej.

Krok 4) Model upozorní pohled, že se změnil.

Krok 5) Pohled přijímá data modelu a aktualizuje se podle přijatých dat.

Proč používat MVC?

  • CakePHP MVC vám pomůže oddělit obchodní logiku od prezentace a načítání dat.
  • Stránka je rozdělena do logických sekcí, které můžete řídit konkrétním ovladačem.
  • Při testování a ladění aplikace může jakýkoli vývojář najít a opravit chyby, aniž by měl k dispozici úplné podrobnosti o kódu.

Nevýhody použití frameworku CakePHP

  • Dokumentační podpora CakePHP není tak komplexní, jak by měla být.
  • Aby vývojář mohl používat CakePHP, musí aktualizovat výchozí trasy pro vytváření efektních URLs, což je ve srovnání s některými jinými PHP frameworky více práce.
  • CakePHP používá ve srovnání s jinými frameworky jednosměrné směrování.
  • Učení se PHP Framework není pro začátečníky vždy snadný.
  • Jednosměrné směrování je další nevýhodou ve srovnání s frameworky, jako je Ruby on Rails.

Nejčastější dotazy

Ano, pro údržbu stávajících projektů CakePHP a pro týmy, které si cení jeho přístupu upřednostňujícího konvence před konfigurací. Laravel a Symfony mají větší komunity, ale CakePHP 5 je aktivně udržován a zůstává solidním a produktivním frameworkem.

Oba jsou MVC PHP frameworky. Laravel má rozsáhlejší ekosystém, expresivní syntaxi a Eloquent ORM. CakePHP klade důraz na striktní konvence a rychlé scaffolding s menší konfigurací. Laravel je populárnější; CakePHP dokáže rychleji spustit konvenční aplikaci.

CakePHP 5, aktuální hlavní verze, vyžaduje PHP 8.1 nebo novější. Starší CakePHP 4 podporoval PHP 7.4 a novější, ale blíží se konec jeho podpory, takže nové projekty by se měly v moderní verzi PHP zaměřit na CakePHP 5.

Ano. Umělá inteligence dokáže vygenerovat migraci, entitu, tabulku, kontroler a šablony pro prostředek CRUD podle konvencí CakePHP a vysvětlit konzolové příkazy Bake. Revzobrazit ověřovací pravidla a otestovat každou akci.

Ano. Umělá inteligence dokáže označit zastaralé metody, aktualizované jmenné prostory a změny signatur a krok za krokem navrhnout náhrady. Protože migrace jsou rozsáhlé, upgradujte postupně a po každé změně spusťte testovací sadu.

Shrňte tento příspěvek takto: