SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
Zend FrameworkAflevering 3 zendframework.bartj.com
Vandaag Vandaag Zend_Layout Zend_Form Zend_Db Zend_Auth
Zend_Form Zend_Form is een view helper, maar uitgegroeid Gebruikt om formuliertjes mee te parsen, te valideren, etc. etc. $form = new Zend_Form; $form->setAction(‘/contact/verstuur/’) 	   ->setMethod(‘post’); $username = $form->createElement(‘text’,’username’); $username->addValidator(‘alnum’) 	         ->addFilter(‘StringToLower’); 	         ->setRequired(true); $password = $form->createElement(‘password’,’password’); $password->addValidator(‘StringLength’,false,array(6)) 	         ->setRequired(true);	 $form->addElement($username)         ->addElement($password)         ->addElement(‘submit’,’login’,array(‘label’=>’Login’)); $this->view->form = $form;
Zend_Form Hoe werkt dit nu in ‘n controller? classContactControllerextends Zend_Controller_Action { 		public functiongetForm() { 			// hier komt de hele form meuk 		// met een return $form; 		} 		public functionindexAction() { 			$this->view->form = $this->getForm(); 		} 		public functionverstuurAction() { if (!$this->getRequest()->isPost()) { 			return $this->_forward(‘index’); 		} 			$form = $this->getForm(); if (!$form->isValid($_POST)) { 			$this->view->form = $form; 		} 			$values = $form->getValues(); 		// in $values staan nu alle waardes die via het Form verstuurd zijn 		} }
Zend_Form Opdracht: Maak een mooi inlogformulier met gebruikersnaam en wachtwoord. Gebruikersnaam mag alleen maar alphanummerieke waardes bevatten, Wachtwoord in ‘n wachtwoord veld, maximale lengte 10. Zodra alles gevalideerd is, de gebruikersnaam bart en het wachtwoord iscool is, laat het gebruikersnaam en het wachtwoord zien in de view.
Zend_DB Whaaacoool we gaan met ‘n Database werken!! (spannend hè ;)) Zend werkt met zogenaamde “database adapters” onder het motto: 1 database model maken, en gebruiken onder verschillende databasepakketten (MSSQL, MySQL, PostgreSQL etc. etc.) 	Allereerst verbinding maken met de database in de “bootstrap” 		$params = array('host'=>'localhost', 			         'username'=>‘username', 			         'password'=>‘password', 			         'dbname'=>‘databeest'); 		$db = Zend_Db::factory('PDO_MYSQL', $params); // database type is MySQL 		Zend_Db_Table::setDefaultAdapter($db);                 Zend_Registry::set('db', $db); // gooi je DB gelijk in ‘t register
Zend_DB Config kan ook met Zend_Config (weet je nog?!) Dit gaat als volgt: $config = new Zend_Config_Xml('/path/to/config.xml', 'staging'); $db = Zend_Db::factory($config->database); In het config bestand moet (voor MySQL) gedefinieerd zijn: Adapter (PDO_MYSQL) Params Host Username Password DBName
Zend_DB Zo nu wordt het tijd voor de Modellen! models/Vrienden.php class Vrienden extends Zend_Db_Table_Abstract { protected $_name = ‘vrienden’; 	public functionvoegvriendtoe($gebruikersid,$vriendid) { 		$data = array( 			‘gebruikersid’=>$gebruikersid, 			‘vriendid’=>$vriendid 		); 	$this->insert($data); } public functionleeseerstevriend($gebruikersid) { 			$where = $this->select()->where(‘gebruikersid = ?’, $gebruikersid); 		$row = $this->fetchRow($where); 		return $row; } }

Contenu connexe

En vedette

Humor Sano En Imagenes 27
Humor Sano En Imagenes 27Humor Sano En Imagenes 27
Humor Sano En Imagenes 27home
 
Shanika's photography
Shanika's photography Shanika's photography
Shanika's photography Shanika McCray
 
Informativo Resort Encontro
Informativo Resort EncontroInformativo Resort Encontro
Informativo Resort Encontrogeniovr
 
Si Pudiera Vivir Nuevamente Mi Vida
Si Pudiera Vivir Nuevamente Mi VidaSi Pudiera Vivir Nuevamente Mi Vida
Si Pudiera Vivir Nuevamente Mi Vidamhflores
 
Socios amigos o familiares
Socios amigos o familiaresSocios amigos o familiares
Socios amigos o familiaresManuel Bedoya D
 
Wonderful World of Colors(td)
Wonderful World of Colors(td)Wonderful World of Colors(td)
Wonderful World of Colors(td)Thuydy
 
Bandas Tributo Femeninas (Capitulo 1)
Bandas Tributo Femeninas (Capitulo 1)
Bandas Tributo Femeninas (Capitulo 1)
Bandas Tributo Femeninas (Capitulo 1) vincentbeffeslvoe
 
Informativo n° 32 3° basico a - 24 de octubre
Informativo n° 32  3° basico a - 24 de octubreInformativo n° 32  3° basico a - 24 de octubre
Informativo n° 32 3° basico a - 24 de octubreColegio Camilo Henríquez
 

En vedette (20)

21st Century Education
21st Century Education21st Century Education
21st Century Education
 
Humor Sano En Imagenes 27
Humor Sano En Imagenes 27Humor Sano En Imagenes 27
Humor Sano En Imagenes 27
 
Shanika's photography
Shanika's photography Shanika's photography
Shanika's photography
 
Custom lighting designs
Custom lighting designsCustom lighting designs
Custom lighting designs
 
Img011
Img011Img011
Img011
 
Informativo Resort Encontro
Informativo Resort EncontroInformativo Resort Encontro
Informativo Resort Encontro
 
Si Pudiera Vivir Nuevamente Mi Vida
Si Pudiera Vivir Nuevamente Mi VidaSi Pudiera Vivir Nuevamente Mi Vida
Si Pudiera Vivir Nuevamente Mi Vida
 
Slideshare
SlideshareSlideshare
Slideshare
 
Sunny Side Up 3
Sunny Side Up 3Sunny Side Up 3
Sunny Side Up 3
 
Como primera tarea
Como primera tareaComo primera tarea
Como primera tarea
 
Portfolio
PortfolioPortfolio
Portfolio
 
Prekinder Módulo 2
Prekinder Módulo 2Prekinder Módulo 2
Prekinder Módulo 2
 
mi primera
mi primerami primera
mi primera
 
Capítulo vii bienestar estudiantil las aulas de clase
Capítulo vii bienestar estudiantil   las aulas de claseCapítulo vii bienestar estudiantil   las aulas de clase
Capítulo vii bienestar estudiantil las aulas de clase
 
Socios amigos o familiares
Socios amigos o familiaresSocios amigos o familiares
Socios amigos o familiares
 
Wonderful World of Colors(td)
Wonderful World of Colors(td)Wonderful World of Colors(td)
Wonderful World of Colors(td)
 
Formacion Dual
Formacion DualFormacion Dual
Formacion Dual
 
Campus virtual
Campus virtualCampus virtual
Campus virtual
 
Bandas Tributo Femeninas (Capitulo 1)
Bandas Tributo Femeninas (Capitulo 1)
Bandas Tributo Femeninas (Capitulo 1)
Bandas Tributo Femeninas (Capitulo 1)
 
Informativo n° 32 3° basico a - 24 de octubre
Informativo n° 32  3° basico a - 24 de octubreInformativo n° 32  3° basico a - 24 de octubre
Informativo n° 32 3° basico a - 24 de octubre
 

Similaire à Cursus Zend Framework - 3

Copernica Marketing Software - Presentatie Copernica Developers training
Copernica Marketing Software - Presentatie Copernica Developers trainingCopernica Marketing Software - Presentatie Copernica Developers training
Copernica Marketing Software - Presentatie Copernica Developers trainingCopernica BV
 
Mashups - Snel en eenvoudig data combineren met PHP (deel 1)
Mashups - Snel en eenvoudig data combineren met PHP (deel 1)Mashups - Snel en eenvoudig data combineren met PHP (deel 1)
Mashups - Snel en eenvoudig data combineren met PHP (deel 1)Remco Tolsma
 
Seminar Copernica Developer
Seminar Copernica DeveloperSeminar Copernica Developer
Seminar Copernica DeveloperCopernica BV
 
Copernica Advanced
Copernica AdvancedCopernica Advanced
Copernica AdvancedCopernica BV
 

Similaire à Cursus Zend Framework - 3 (9)

Beginnen met PHP
Beginnen met PHPBeginnen met PHP
Beginnen met PHP
 
PHP theorie
PHP theoriePHP theorie
PHP theorie
 
Cooking Cake
Cooking CakeCooking Cake
Cooking Cake
 
Copernica Marketing Software - Presentatie Copernica Developers training
Copernica Marketing Software - Presentatie Copernica Developers trainingCopernica Marketing Software - Presentatie Copernica Developers training
Copernica Marketing Software - Presentatie Copernica Developers training
 
PHP
PHPPHP
PHP
 
Mashups - Snel en eenvoudig data combineren met PHP (deel 1)
Mashups - Snel en eenvoudig data combineren met PHP (deel 1)Mashups - Snel en eenvoudig data combineren met PHP (deel 1)
Mashups - Snel en eenvoudig data combineren met PHP (deel 1)
 
Ldap
LdapLdap
Ldap
 
Seminar Copernica Developer
Seminar Copernica DeveloperSeminar Copernica Developer
Seminar Copernica Developer
 
Copernica Advanced
Copernica AdvancedCopernica Advanced
Copernica Advanced
 

Cursus Zend Framework - 3

  • 1. Zend FrameworkAflevering 3 zendframework.bartj.com
  • 2. Vandaag Vandaag Zend_Layout Zend_Form Zend_Db Zend_Auth
  • 3. Zend_Form Zend_Form is een view helper, maar uitgegroeid Gebruikt om formuliertjes mee te parsen, te valideren, etc. etc. $form = new Zend_Form; $form->setAction(‘/contact/verstuur/’) ->setMethod(‘post’); $username = $form->createElement(‘text’,’username’); $username->addValidator(‘alnum’) ->addFilter(‘StringToLower’); ->setRequired(true); $password = $form->createElement(‘password’,’password’); $password->addValidator(‘StringLength’,false,array(6)) ->setRequired(true); $form->addElement($username) ->addElement($password) ->addElement(‘submit’,’login’,array(‘label’=>’Login’)); $this->view->form = $form;
  • 4. Zend_Form Hoe werkt dit nu in ‘n controller? classContactControllerextends Zend_Controller_Action { public functiongetForm() { // hier komt de hele form meuk // met een return $form; } public functionindexAction() { $this->view->form = $this->getForm(); } public functionverstuurAction() { if (!$this->getRequest()->isPost()) { return $this->_forward(‘index’); } $form = $this->getForm(); if (!$form->isValid($_POST)) { $this->view->form = $form; } $values = $form->getValues(); // in $values staan nu alle waardes die via het Form verstuurd zijn } }
  • 5. Zend_Form Opdracht: Maak een mooi inlogformulier met gebruikersnaam en wachtwoord. Gebruikersnaam mag alleen maar alphanummerieke waardes bevatten, Wachtwoord in ‘n wachtwoord veld, maximale lengte 10. Zodra alles gevalideerd is, de gebruikersnaam bart en het wachtwoord iscool is, laat het gebruikersnaam en het wachtwoord zien in de view.
  • 6. Zend_DB Whaaacoool we gaan met ‘n Database werken!! (spannend hè ;)) Zend werkt met zogenaamde “database adapters” onder het motto: 1 database model maken, en gebruiken onder verschillende databasepakketten (MSSQL, MySQL, PostgreSQL etc. etc.) Allereerst verbinding maken met de database in de “bootstrap” $params = array('host'=>'localhost', 'username'=>‘username', 'password'=>‘password', 'dbname'=>‘databeest'); $db = Zend_Db::factory('PDO_MYSQL', $params); // database type is MySQL Zend_Db_Table::setDefaultAdapter($db); Zend_Registry::set('db', $db); // gooi je DB gelijk in ‘t register
  • 7. Zend_DB Config kan ook met Zend_Config (weet je nog?!) Dit gaat als volgt: $config = new Zend_Config_Xml('/path/to/config.xml', 'staging'); $db = Zend_Db::factory($config->database); In het config bestand moet (voor MySQL) gedefinieerd zijn: Adapter (PDO_MYSQL) Params Host Username Password DBName
  • 8. Zend_DB Zo nu wordt het tijd voor de Modellen! models/Vrienden.php class Vrienden extends Zend_Db_Table_Abstract { protected $_name = ‘vrienden’; public functionvoegvriendtoe($gebruikersid,$vriendid) { $data = array( ‘gebruikersid’=>$gebruikersid, ‘vriendid’=>$vriendid ); $this->insert($data); } public functionleeseerstevriend($gebruikersid) { $where = $this->select()->where(‘gebruikersid = ?’, $gebruikersid); $row = $this->fetchRow($where); return $row; } }