+ All Categories
Home > Technology > Cursus Zend Framework - 2

Cursus Zend Framework - 2

Date post: 17-May-2015
Category:
Upload: bartjeukendrup
View: 1,283 times
Download: 3 times
Share this document with a friend
Popular Tags:
21
Zend Framework Aflevering 2 zendframework.bartj.com
Transcript
Page 1: Cursus Zend Framework - 2

Zend Framework Aflevering 2

zendframework.bartj.com

Page 2: Cursus Zend Framework - 2

Later & Vandaag

Later??Adobe FLEX3 & AIRCase: Hondenbemiddeling Dierenbescherming

VandaagURL FormaatZend_ConfigZend_LogZend_ViewZend_Layout

Page 3: Cursus Zend Framework - 2

URL Formaat

URL Formaat◦/index/index◦/tickets/index

tickets is de controller index is de action

◦/tickets/bekijkticket/ticketid/12345 tickets is de controller bekijkticket is de action ticketid is de naam/key van parameter1 12345 is de waarde van ticketid

Page 4: Cursus Zend Framework - 2

URL Formaat

Bestand: application/controllers/IndexController.phpclass IndexController extends Zend_Controller_Action {

public function indexAction() {// Hier gaat het gebeuren

} }

Bestand: application/controllers/TicketsController.phpclass TicketsController extends Zend_Controller_Action {

public function indexAction() {// Index van de Tickets

}

public function bekijkticketAction() {// Hier komt de code om tickets te bekijken

}}

Page 5: Cursus Zend Framework - 2

Een klein stukje Zend_View

Bestand: application/controllers/IndexController.phpclass IndexController extends Zend_Controller_Action {

public function indexAction() {$this->view->tekst = “hallooo hallooo”;

} }

Bestand: application/views/scripts/index/index.phtml<html><head><title>Test van Hoi</title></head><body><?= $this->tekst ?></body></html>

Page 6: Cursus Zend Framework - 2

Zend_Config

Zend_Config gebruik je om instellingen in te lezen en op te slaan

Bijvoorbeeld◦MySQL Instellingen

Kan via◦XML◦INI

Naslagwerkhttp://framework.zend.com/manual/en/zend.config.html

Page 7: Cursus Zend Framework - 2

Zend_Config – INI File

Inhoud INI File:[productie]hostname = www.bartj.comdatabase.adapter = pdo_mysqldatabase.params.hostname = mysql.bartj.comdatabase.params.username = dbuserdatabase.params.password = secretdatabase.params.dbname = dbname

; test instellingen, rest overerven van productie[test:productie]database.params.hostname = test.mysql.bartj.comdatabase.params.username = devuserdatabase.params.password = devsecret

Page 8: Cursus Zend Framework - 2

Zend_Config – INI File - 2

$config = new Zend_Config_Ini(bestand, sectie, instellingen);

v.b.$config = new Zend_Config_Ini(‘config.ini,

‘test’);Instellingen (Array)allowModifications -> true/falsenestSeparator -> “.” (default)

Page 9: Cursus Zend Framework - 2

Zend_Registry

Zend_Registry wordt gebruikt om informatie op te slaan die overal in de applicatie beschikbaar moet zijn

FunctiesZend_Registry::get(naam)Zend_Registry::set(naam,value)

Page 10: Cursus Zend Framework - 2

Opdracht

Maak een ini bestand, en plaats deze in de config map van de applicatie, maak een aantal instellingen aan◦Maak een productie deel en een test deel

Lees bestand uit met behulp van Zend Framework

Zet de inhoud van de ini op het scherm

Page 11: Cursus Zend Framework - 2

Error handling

Fouten◦Controller bestaat niet◦Actie bestaat niet◦Een exceptie (fout) wordt door een applicatie

gegenereerdOpslaan van foutmeldingen is belangrijk

(site debuggen)Duidelijke 404 pagina naar gebruiker

Page 12: Cursus Zend Framework - 2

Error handling

class ErrorController extend Zend_Controller_Action {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:$this->getResponse ()->setRawHeader ( 'HTTP/1.1 404 Not Found' ) ;$this->view->titel = “404 Kan de pagina niet vinden”;break;

default:$this->view->titel = “Fout in de applicatie”;$exception = $errors->exception;break;

}

$this->view->message = $errors->exception;}

}

Page 13: Cursus Zend Framework - 2

Zend_Log

Zend_Log is handig voor, de naam zegt het al, dingen te loggen!

Kan een aantal delen bevatten:◦ Log_Writer -> het uiteindelijke schrijven van de log◦ Log_Filter -> data filteren voordat het weggeschreven

wordt◦ Log_Formatter -> formattering

Page 14: Cursus Zend Framework - 2

Zend_Log

Hoe werkt dit nu?$writer = new Zend_Log_Writer_Stream(‘logs/logbestand’);$logger = new Zend_Log($writer);

Naar het log schrijven?$logger->log(‘Dit is een log bericht’, Zend_Log::INFO);

Types:EMERG = 0; // Systeem onbruikbaarALERT = 1; // Directe actie nodigCRIT = 2; // Kritische conditiesERR = 3; // Error opgetredenWARN = 4; // WaarschuwingNOTICE = 5; // MeldingINFO = 6; // InformatiefDEBUG = 7; // Debug

Page 15: Cursus Zend Framework - 2

Opdracht

Maak een ErrorController welke alle informatie op kan slaan in een logbestand

Page 16: Cursus Zend Framework - 2

Zend_View

Templating, het onderdelen en inrichten van je site◦Gaat m.b.v. PHP◦Gebruik van shorttags aangeradendoor Zend <?= ?>◦Toekennen◦Escapen

Meer mogelijkhedenmet Zend_Layout

Page 17: Cursus Zend Framework - 2

Zend_View

In de Controller worden de waarden toegekend aan de views

Extra mogelijkheden◦Partials: fragmenten HTML◦Helpers: extra functionaliteiten bieden, functies

toevoegen aan je view(s)

Page 18: Cursus Zend Framework - 2

Zend_View

Partials roep je aan in je view(s)Gewoon een view binnen een viewVergelijkbaar met includeHandig voor menu’s, footer’s e.d.

Bestand /views/scripts/partials/header.phtml<title><?php echo $this->escape($this->title) ?></title>

Bestand /views/scripts/index/index/html<?php echo $this->partial(‘partials/header.phtml’,

array(‘title’=>’Titel van de pagina’));

Page 19: Cursus Zend Framework - 2

Zend_View

Gebruik van helpers

Kunnen eigen of door Zend gemaakte helpers zijn Standaard helpers in Zend:

◦ docType(‘XHTML1_STRICT’);◦ url(array(‘var1’,’var2’,’var3’));◦ Form (formuliertjes bouwen, hierover meer later)

Voorbeeldje:<?php echo $this->url(array(‘user’=>’JW’,

’status’=>’programmer’)); ?>

Uitkomst:/index/index/user/JW/status/programmer

Page 20: Cursus Zend Framework - 2

Zend_Layout

Menu

Header

Login

Content

Page 21: Cursus Zend Framework - 2

Zend_Layout

Zend_View maar dan cooler

File: /public/index.php (bootstrap)Zend_Layout::startMvc();

De view begint in /views/layout.phtml

File: application/views/scripts/layout.phtml<?= $this->docType(‘XHTML1_STRICT’) ?><html><head>

<title><?= $this->headTitle() ?></title><?= $this->headScript() ?><?= $this->headStylesheet() ?>

</head><body><div id=“menu”><?= $this->partial(‘menu.phtml’) ?></div><div id=“content”><?= $this->layout()->content ?></div><div id=“login”><?= $this->action(‘login', ‘loginboxje'); ?></div></body></html>


Recommended