3. előadás
Apache szerver tudnivalók Az index.php .htaccess – web-szerverünk beállításai Konfigurációs állományok Adatbázis kapcsolódás beállítása Bootstrapping Belépési pont IndexController, ErrorController
Domain név: Szerveren filestruktúra: home/usernév/almappák az almappák esetünkben: web, application, library Az apache docRoot-ja a web mappára mutat: index.html, index.php… fileokat fog keresni Biztonsági szempont, hogy a kódok a web mappán kívül helyezkednek el
Az állomány helye: (projektünk elérési útja)/web/index.php
Könyvtár-szintű konfigurációs állomány Apache webserverekhez Globális szerverbeállítások helyi felülírására Használata: authetikáció, egyéni hibaoldalak definiálása, URL-ek átírása, cache vezérlés, számos egyéb hasznos dolog… SetEnv APPLICATION_ENV development RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L]
Zend_Config_* Projektünk beállításainak tárolására és azok elérésére szolgáló csomag INI és XML kiterjesztésű állományokat támogat INI Szekciókat adhatunk meg, melyek örökölhetnek egymástól tulajdonságokat Több konfigurációs állomány is létrehozható
resources.db.* resources.frontController.* resources.layout.* resources.modules.* resources.navigation.* resources.router.* resources.session.* resources.view.*
resources.db.adapter = "pdo_mysql" resources.db.params.host = "localhost" resources.db.params.username = "webuser" resources.db.params.password = "XXXXXXX" resources.db.params.dbname = "test" resources.db.isDefaultTableAdapter = true
$config = new Zend_Config_Ini( APPLICATION_PATH.'/configs/application.ini', APPLICATION_ENV ); $db = $config->resources->db; $db = Zend_Db::factory($db->adapter, $db->params->toArray());
A bootstrap helye: application/Bootstrap.php 1.8 óta objektumorientált osztály function _initXY() alakú ún. erőforrás-metódusok, lefutása sorrend alapján, bootstrap() Minden oldaltöltés előtt lefut (controllertől függetlenül) Authorizáció, adatbázis-kapcsolódás, konfigurációk, konstansok helye
Objektumok, és értékek tárolására való Háttérben session Egyszerűen hívható bárhonnan az alkalmazásból A globális változókat kiváltani hivatott Statikus metódusokkal kezeljük Zend_Registry::set('VERSION', '2.0'); Zend_Registry::get(’VERSION’);
1. A felhasználó a böngészőbe beírja a címet 2. A megfelelő nevű szerver kikeresi a tárhelyet 3. A megfelelő helyen lévő megadott file lefut (index.php) 4. Elindul a bootstrapping 5. A router kiosztja az adott URL alapján, hogy melyik controller dolgozzon
(Előre tekintve a következő előadásra) Kitüntetett szerepe van, ha nincs controller megadva, automatikusan az index nevűt veszi (felülírható) Hasonlóan az action-öknél, az index nevű fut automatikusan, ha nincs megadva action Általában redirectelést tölt be
Alapértelmezésben errorhandler plugin Hasonlóan használható, mint bármely egyéb controller, de hiba esetén ide redirectel a böngésző, és a megfelelő hiba action-t akarja futtatni Alapértelmezett action: errorAction() Természetesen tetszőleges hibakezelő írható, és mindegyikhez lehet rendelni az egyes hibákat
Apache virtualweb index.php áttekintése Config file megírása Bootstrap file megírása Adatbáziskapcsolat létrehozása Zend_Registry szemléltetése Index- és ErrorControllerek