3. Introduction
3
Le Zend Framework est un cadriciel (framework)
pour PHP 5 créé en mars 2006 par Zend
Technologies.
Le Zend Framework, aussi nommé ZF, a été
développé dans le but de simplifier le
développement Web tout en recommandant les
bonnes pratiques et la conception orientée
objets en offrant des outils aux développeurs.
ZF permet aussi d'utiliser nativement le principe
de MVC (Modèle-Vue-Contrôleur).
4. Définition
5
Le Zend Framework est un projet PHP gratuit fourni par la
société Zend et un grand nombre de contributeurs open
source.
Le Zend Framework est un cadre de travail open source
orienté objets pour des applications web basées sur PHP
5.
Le Zend Framework est souvent appelé une « bibliothéque
de composants ».
Les composants le plus utilisés dans Zend Framework:
« Zend_controller », « Zend_config », «
Zend_Layout» « ,
« Zend_Db », «Zend_Db _Table», «
Zend_Registry»
5. Les Objectifs
6
Les objectifs du projet ZF sont les suivants :
Accélérer le développement de sites web
Faciliter la maintenance
Industrialiser la façon de coder en PHP
6. Le logiciel à utiliser
7
Le logiciel à utiliser pour développer le framework Zend
pour PHP 7.1 c’est Zend Studio 13.6
8. Ce code extrait du site web zend framework communauté
francophone est un exemple simple d’utilisation de zend_mail , le
composant gérant l’envoi d’e-mail.
Exemple2: Authentification d'utilisateurs dans Zend Framework
*Supposant une table de base de données suivante qui inclue des
champs :
CREATE TABLE users (
id INTEGER NOT NULL PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
password VARCHAR(32) NULL,
password_salt VARCHAR(32) NULL,
real_name VARCHAR(150) NULL
)
8
9. 9
*Créons un formulaire de login simple. Nous utiliserons Zend_Form.
// localisé à application/forms/Auth/Login.php
class Default_Form_Auth_Login extends Zend_Form{
public function init() {
$this->setMethod('post');
$this->addElement(
'text', 'username', array(
'label' => 'Username:',
'required' => true,
'filters' => array('StringTrim'), ));
$this->addElement('password', 'password', array(
'label' => 'Password:',
'required' => true, ));
$this-
>addElement('submit', 'submit', array( 'ignore' => true, 'label' => 'Logi
n‘
)); }
}
10. 10
la création du contrôleur de traitement"AuthController", Il possèdera
une seule méthode
" loginAction()" vers laquelle le formulaire enverra, la méthode va donc
réagir à GET
et à POST, elle encapsule toute la logique.
Le code suivant montre comment construire l'adaptateur
d'authentification et l'intégration
du formulaire:
11. 11
class AuthController extends Zend_Controller_Action{
public function loginAction() {
$db = $this->_getParam('db');
$loginForm = new Default_Form_Auth_Login();
if ($loginForm->isValid($_POST)) {
$adapter = new Zend_Auth_Adapter_DbTable( $db, 'users', 'username', 'p
assword', 'MD5(CONCAT(?, password_salt))' );
$adapter->setIdentity($loginForm->getValue('username'));
$adapter->setCredential($loginForm->getValue('password'));
$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($adapter);
if ($result->isValid()) {
$this->_helper->FlashMessenger('Successful Login');
$this->_redirect('/');
return; } }$this->view->loginForm = $loginForm; }}
/views/scripts/auth/login.html:
$this->form->setAction($this->url());echo $this->form;
12. Conclusion
12
Ce framework permet de faciliter et de fiabiliser le
développement de sites dynamiques en PHP.
Il s'adresse notamment aux entreprises :
le risque associé au développement d'un site
d'envergure est significativement inférieur avec
l'utilisation du Zend Framework.