Alkalmazás inicializálás - Web

Download Report

Transcript Alkalmazás inicializálás - Web

Slide 1

3. előadás


Slide 2












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


Slide 3







Domain név:
http://azentarhelyem.hu
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


Slide 4

Az állomány helye:
(projektünk elérési útja)/web/index.php


Slide 5







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]


Slide 6










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ó


Slide 7


Slide 8












resources.db.*
resources.frontController.*
resources.layout.*
resources.modules.*
resources.navigation.*
resources.router.*
resources.session.*
resources.view.*
http://framework.zend.com/manual/en/zend.application.available-resources.html


Slide 9



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


Slide 10



$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());


Slide 11











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


Slide 12











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’);


Slide 13

1.
2.
3.

4.
5.

A felhasználó a böngészőbe beírja a címet
A megfelelő nevű szerver kikeresi a tárhelyet
A megfelelő helyen lévő megadott file lefut
(index.php)
Elindul a bootstrapping
A router kiosztja az adott URL alapján, hogy
melyik controller dolgozzon


Slide 14

(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


Slide 15







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


Slide 16











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