Zend Framework – Céges Demo portál – Zend Framework működésre fogása IV. rész

Már 95%ban készen van az alkalmazásunk, azonban egy kis hiba kezelés nem árthat a teljesség igénye miatt. Ehhez nem kell mást tennünk mint egy ErrorControllert kell beszúrnunk a Controllerjeink közé, az alábbi tartalommal:



<?php
require_once 'controllers/BaseController.php';
class ErrorController extends BaseController
{
public function errorAction()
{
$errors = $this->_getParam('error_handler');
switch ($errors->type) {
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
// 404 error -- controller or action not found
$this->view->errormessage = 'Not Found the page!(404)';
// ... get some output to display...
break;
default:
// application error; display error page, but don't change
// status code
$this->view->errormessage = 'Fault in process!';
// ...
// Log the exception:
$exception = $errors->exception;
$log = new Zend_Log(
new Zend_Log_Writer_Stream(
'../tmp/error.log'
)
);
$log->debug($exception->getMessage() . "\n\n" .
$exception->getTraceAsString());
break;
}
}
}
?>

Ez igazából annyit csinál, hogy nem létező vezérlő vagy esemény esetén a hozzá tartozó nézethez(/demo/application/views/scripts/error/error.phtml) átadunk egy errormessage neveztűváltozóban egy üzenetet. Nem létező vagy hibás Controller Action esetén egy Not found the page (404) es hibát.

Minden más esetben egy Fault in process hiba üzenetet írunk ki a felhasználónak és egy error.logba beleírjuk a hibákat. Az error.log fájlt a /demo/tmp/ könyvtárba kell beletennünk ehhez a tmp könyvtárat a megadott útvonalon létre kell hoznunk. Tegyük bele az error.log-ot linux esetén adjunk a fájlra írási jogot!

Összegzésképpen most tekintsük meg az eddigi alkalmazásunk MVC felépítését:

ZF MVC FINAL

Végül íme egy kép az elkészített demo portálról:

Kép demo alkalmazásomról

Az elkészített Zend Framework – Céges Demo portál forrása letölthető, bejelentkezés után itt
A letölthető .zip fájl nem tartalmazza a Zend Frameworkot ezt le kell tölteni a http://framework.zend.com/ oldalról s beilleszteni a /demo/lib könyvtárba. Ahogy az a fenti MVC képen látható.

Advertisements

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

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s