Your SlideShare is downloading. ×
Cursus Zend Framework - 3
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Cursus Zend Framework - 3

1,146
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,146
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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;
    }
    }

×