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