CakePHP project építés 1. rész

cakephpA CakePHP telepítése és az azt követő pár lépés teljesen független attól, hogy tulajdonképpen milyen projectet is akarunk összerakni vele. Itt próbálom összeszedni, hogy magyar nyelven is elérhető legyen, hogy azok akik ismerkednek a CakePHP-vel a lehető legfájdalommentesebben túllegyenek az első próbatételeken.

Szerver követelmények
Győződjünk meg arról, hogy a saját tesztkörnyezetünktől függetlenül a majdani éles környezet megfelel-e a rendszerkövetelményeknek.

  • Egy HTTP szerver, mint például az Apache, amelyen engedélyezettek: session, mod_rewrite (nem feltétlen kötelező, de ajánlott) modulok.
  • 4.3.2 PHP verzió vagy annál újabb.
  • Egy adatbáziskezelő (ezidág a MySQL, a PostgreSQL és egy ADODB interfész alkalmazható).
Letöltés
A legfrisebb stabil verzió letöltése például innen. A Stable csomagot kell kiválasztani és ezen belül választhatunk, hogy tar.bz2, tar.gz vagy zip-pel tömörített formátumban kívánjuk megkapni. Válasszuk azt amit majd ki tudunk tömöríteni 🙂 Itt kapunk eg yúj oldalt ahol lehet támogatni a projectet. Aki akarja támogatni a fejlesztést kattintson valamelyik donate gombra, aki ez alkalommal nem az pedig kattintson a No Thanks gombra. Ezután már csak a Download Latest Release linket kell eltalálnunk és már le is töltődik a hihetetlenül óriási, tömörítve 150KB körüli keretrendszer.
Kitömörítés
Tömörítsük ki a letöltött filet és másoljuk be a kitömörítéskor keletkezett könyvtár tartalmát a fejlesztésre használt webszerver gyökere alatt létrehozott könyvtárba (Pl nálam a webszerver gyökere a /Users/rrd/Sites és a kitömörített fileokat a /Users/rrd/Sites/tulasi könyvtárba másolom). Itt figyelni kell, mert lesz egy .htaccess nevű (Unix környezetekben alapértelmezés szerint rejtett) fileunk ami bizonyos esetekben nem másolódik át. Ha a webszerver gyökerében létrehozott projectkönyvtárból hiányzik a file (/Users/rrd/Sites/tulasi/.htaccess), akkor másoljuk bele külön kézzel.
mod-rewrite
Apache esetén be kell állítani a mod-rewrite modult. Itt ez szépen le van írva. Annyit tennék hozzá, hogy az alap szerverbeállítástól függően kissé macerás és félrevezető lehet. Nálam például a 10.4.9 iMac alap Apache telepítés esetén a http://localhost/~rrd/tulasi URL 400 Bad Request hibát dobott, a http://localhost/~rrd/tulasi/ (perrel a végén) URL pedig 404 Not Found hibát. A 404-es hibában leírt hiányolt könyvtár (/Users/rrd/Sites/tulasi/app/webroot/) persze létezett és olvasható volt a webszerver számára. Miután a /Users/rrd/Sites/tulasi/.htaccess fileban a RewriteEngine on sor után hozzáadtam a szükséges RewriteBase /~rrd/tulasi/ sort, akkor a http://localhost/~rrd/tulasi/ URL-re bejött a Cake üdvözlő lapja, de a http://localhost/~rrd/tulasi (perjel nélküli) URL-re továbbra is 400-as hibát dobott. Ezt nem igazán tudom hova rakni, talán valami mod-rewirte tudós megírja ide egyszer a megoldást. E melett az app és az app/webroot köynvtárban lévő htaccess fileokat is módosítanom kellett, mindkettőben megadva a hozzájuk tartozó RewriteBase direktívát. Így az /app/.htaccess fileba a RewriteBase /~rrd/tulasi/app/ sor, az /app/webroot/.htaccess fileba pedig a RewriteBase /~rrd/tulasi/app/webroot/ sor került bele plusszba.

Ha idáig eljutottunk akkor a böngészőnk a project URL-re (http://localhost/~rrd/tulasi/) A Cake üdvözlő lapját kell kiadnia.
Cake üdvözlő lap

Smarty
Cseppet sem kötelező, de aki szeretné használni annak jól fog jönni, hogy ha tudja, mit kell tenni ahhoz, hogy a smartyt használni tudja a CakePHP-vel. Aki nem akar smartyt használni az ezt a lépést nyugodtan kihagyhatja.

  • Töltsd le a legfrisebb SmartyView-t innen: http://cakeforge.org/snippet/detail.php?type=snippet&id=6
  • Mentsd el a SmartyView-t a /(app)/views/smarty.php fileként. (/Users/rrd/Sites/tulasi/views/smarty.php)
  • Töltsd le a Smarty-t. Tömörítsd ki és tedd a fileokat a /vendor/smarty/ könyvtárba (/Users/rrd/Sites/tulasi/vendor/smarty/).
  • Hozd létre az (app)/tmp/smarty/compile és az (app)/tmp/smarty/cache könyvtárakat, és tedd írhatóvá a webszerver számára.
  • Tedd elérhetővé a smartyt a controllerjeid számára. Ehhez az (app)/app_controller.php
    fileba kell betenni a következőt:

    <?php
    class AppController extends Controller{
       var $view = 'Smarty';
    }
    ?>

    Ezután ha az (app)/views/controller/akarmi könyvtárban talál a rendszer tpl fileokat akkor azokat használja, ha nem akkor pedig a thtml fileokat.

A tmp könyvtár írhatóvá tétele
a /app/tmp könyvtárat mindne alkönyvtárával együtt írhatóvá kell tenni a webszerver számára.
Adatbázis beállítás
Ezután beállíthatjuk az adatbázis kapcsolatot. A Your database configuration file is not present. Üzenettel jelzi is számunkra a Cake, hogy ez kéne tennünk. Ehhez az (app)/config/database.php.default fileban kell megadnunk a kapcsolódáshoz szükséges adatokat és elmenteni database.php néven, amit a megfeleő beállítások esetén a Cake egy Your database configuration file is present és egy Cake is able to connect to the database üzenettel nyugtáz.

Ennyi volt az alap telepítés, ezt követően állhatunk neki az alkalmazásunk tényleges felépítéséhez.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.