Vytváříte větší internetový projekt v PHP a už vás nebaví nesčetněkrát programovat zásadní a primitivní kusy kódu, které vás akorát zdržují od tvorby vlastní aplikace? Řešením je pro vás nějaký framework. Pojďme se naučit pracovat s CakePHP.
CakePHP patří mezi tři nejznámější a nejpoužívanější PHP frameworky – a to z této skupiny: Zend Framework, Symfony a námi recenzovaný CakePHP. Pojďme se zběžně podívat, jak budeme pracovat s CakePHP a řekněme si pár základů pro práci s frameworkem.
CakePHP (dále Cake) byl můj první framework. Byl jsem z něj nadšen, unesen, okouzlen. S postupem času vím, že není nejlepší, mnohem více ho porovnávám se svým frameworkem a začínám být nespokojen, přesto má Cake velmi pěkné momenty, kvůli kterým se vyplatí na něj mrknout. Cake vám ušetří čas, čas je práce, a práce, to jsou peníze!
O Caku je mnoho zdrojů informací. Naneštěstí se vztahují ke staré verzi (zatím pořád stable, ale více jak rok nevyvíjená), nebo i k nové, přesto nejsou aktuální, protože 1.2 procházela velkým vývojem. Nyní to vypadá, že práce snad už finišují, a velkých drastických změn jako v minulosti se snad nedočkáme. Faktem zůstává, že tento miniseriál bude výjimečný, vzhledem k absenci českých zdrojů. Ukázky jsou tedy psány na dev verzi 1.2
Co potřebujete ke zprovoznění Caku:
- HTTP server (nejlépe Apache) se zapnutým mod_rewrite (není povinný, ale velmi vhodný)
- PHP 4.3.2 nebo vyšší; Cake pracuje i pod PHP4
- Databázový systém (podporované drivery: DB2, Firebird, MSSQL, MySQL (mysql i mysqli), ODBC, Oracle, PostgreSQL, SQLite, Sybase)
Jak zprovoznit server Apache s PHP a MySQL si můžete přečíst zde na programujte.com.
Základním stavebním kamenem Caku je návrhový vzor MVC. Zjednodušeně je to oddělení práce se daty (Model) od jejich prrezentace (View) spojenné pomocí Controlleru.
Adresářová struktura
Když si rozbalíte zazipovanou složku s Cakem, získáte soubry a adresáře:
- /app/ - vaše webová aplikace s web-rootem
- /cake/ - jádro Caku, sním nebude prakticky nikdy nic dělat
- /docs/ - adresář s licencí apod.
- /vendors/ - adresář pro rozšíření třetích stran
- /index.php
- /.htaccess
Nyní si váš postup odvíjí od toho, jestli máte k dispozici vlastní server, free-hosting, či testujete Cake doma. Pokud pracujete s Cakem doma, nastavte v php.ini
direktivu include_path
aby směřovala také do vaší složky Cakem.
Příklad uspořánání na localhostu
Uvažujme:D:/server/root/cake /app /dalsi-moje /projektyV php.ini najděte direktivu include_path a upravte ji například takto:
include_path = ".;D:/server/root/cake;"
Soubory index.php
a .htaccess
ze první úrovně archivu nebudeme potřebovat.
Adresář app pojmenujte tak, jak chcete pojmenovat váš projekt. Já se na něj vždy budu odvolávat jako na app.
Nyní zbývá už jen adresáři /app/tmp
nastavit práva na 0777.
Pokud budete chtít aplikaci zprovoznit na vlastní serveru, je velmi vhodné, abyste web-root serveru nastavili na
/app/webroot/
. Zvýšíte tak bezpečnost aplikace a vyhnete se některým komplikacím.
Struktura aplikace
Výpis není kompletní, zdůrazňuje pouze dúležité součásti:/app/ /config/ - konfigurační soubory databáze, ACL apod. /controllers/ - zde budou Controllery /models/ - zde budou Modely /tmp/ - temp složka pro chachování /views/ - zde budou Views /errors/ - teplate soubory pro chyby /layouts/ - zde bude layout aplikace /webroot/ - DocumentRoot vaší aplikace: obrázky, css styly, js, apod. /css/ /files/ /img/ /js/ /inde.php
Na příště
Do příště si na svém localhostu připravte základní instalaci Caku podle dnešního návodu. Stahujte si verzi 1.2!
- cakephp.org - oficiální stránky projektu
- cakePHP - 1.2.0.7296 RC2