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

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.
