SlideShare une entreprise Scribd logo
1  sur  12
1
Mini Projet:
Plan
2
1-Introduction:
2-Définition:
3-Les objectifs d’un ZF:
4-Le logiciel à utiliser:
5-Exemples de code d’un
ZF
6-Conclusion :
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).
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»
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
Le logiciel à utiliser
7
 Le logiciel à utiliser pour développer le framework Zend
pour PHP 7.1 c’est Zend Studio 13.6
Exemples de code
8
Exemple1: E-Mail
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
*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
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
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;
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.

Contenu connexe

Tendances

Php mysql cours
Php mysql coursPhp mysql cours
Php mysql courszan
 
Mini projet individuel php
Mini projet individuel phpMini projet individuel php
Mini projet individuel phpKhadim Mbacké
 
Cours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partieCours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partiekadzaki
 
Cours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partieCours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partiekadzaki
 
Notions de base de JavaScript
Notions de base de JavaScriptNotions de base de JavaScript
Notions de base de JavaScriptKristen Le Liboux
 
Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5Kristen Le Liboux
 
Cours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partieCours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partiekadzaki
 
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1Addi Ait-Mlouk
 
Introduction à Angular JS
Introduction à Angular JSIntroduction à Angular JS
Introduction à Angular JSAntoine Rey
 
Présentation de JavaServer Faces
Présentation de JavaServer FacesPrésentation de JavaServer Faces
Présentation de JavaServer FacesJS Bournival
 
Utilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPJean-Marc Fontaine
 
Vues avancées avec Drupal 7 #dcparis13
Vues avancées avec Drupal 7 #dcparis13Vues avancées avec Drupal 7 #dcparis13
Vues avancées avec Drupal 7 #dcparis13fguery
 
Document Object Model ( DOM)
Document Object Model ( DOM)Document Object Model ( DOM)
Document Object Model ( DOM)Abdelouahed Abdou
 
Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)Fred Brunel
 

Tendances (17)

Php mysql cours
Php mysql coursPhp mysql cours
Php mysql cours
 
Mini projet individuel php
Mini projet individuel phpMini projet individuel php
Mini projet individuel php
 
Cours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partieCours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partie
 
Cours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partieCours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partie
 
Notions de base de JavaScript
Notions de base de JavaScriptNotions de base de JavaScript
Notions de base de JavaScript
 
Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5
 
Cours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partieCours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partie
 
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1
 
Introduction à Angular JS
Introduction à Angular JSIntroduction à Angular JS
Introduction à Angular JS
 
Présentation de JavaServer Faces
Présentation de JavaServer FacesPrésentation de JavaServer Faces
Présentation de JavaServer Faces
 
De Java à .NET
De Java à .NETDe Java à .NET
De Java à .NET
 
Utilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHP
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
 
Vues avancées avec Drupal 7 #dcparis13
Vues avancées avec Drupal 7 #dcparis13Vues avancées avec Drupal 7 #dcparis13
Vues avancées avec Drupal 7 #dcparis13
 
Document Object Model ( DOM)
Document Object Model ( DOM)Document Object Model ( DOM)
Document Object Model ( DOM)
 
Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)
 
Ns python web 1
Ns python web 1Ns python web 1
Ns python web 1
 

Similaire à mini projet

Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonyVincent Composieux
 
ZendFramework2 - Présentation
ZendFramework2 - PrésentationZendFramework2 - Présentation
ZendFramework2 - Présentationjulien pauli
 
Introduction à Zend Framework 2
Introduction à Zend Framework 2Introduction à Zend Framework 2
Introduction à Zend Framework 2Mickael Perraud
 
Utiliser le Zend Framework avec Symfony
Utiliser le Zend Framework avec SymfonyUtiliser le Zend Framework avec Symfony
Utiliser le Zend Framework avec SymfonyXavier Gorse
 
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)cornnery
 
Asp Au Service Des Mv Ps
Asp Au Service Des Mv PsAsp Au Service Des Mv Ps
Asp Au Service Des Mv PsGregory Renard
 
Développement sécurisé d'applications avec Zend Framework
Développement sécurisé d'applications avec Zend FrameworkDéveloppement sécurisé d'applications avec Zend Framework
Développement sécurisé d'applications avec Zend FrameworkMickael Perraud
 
Java dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnASJava dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnASGuillaume Sauthier
 
Zen02 formation-zend-framework-1-les-bases
Zen02 formation-zend-framework-1-les-basesZen02 formation-zend-framework-1-les-bases
Zen02 formation-zend-framework-1-les-basesCERTyou Formation
 
Entity_framework_db first
Entity_framework_db firstEntity_framework_db first
Entity_framework_db firstZineb ELGARRAI
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSRenaud Dumont
 
Architecture PHP 3 tier avec Zend en backend de Drupal
Architecture PHP 3 tier avec Zend en backend de DrupalArchitecture PHP 3 tier avec Zend en backend de Drupal
Architecture PHP 3 tier avec Zend en backend de DrupalThomas Delerm
 
NodeJS for Mobile App
NodeJS for Mobile AppNodeJS for Mobile App
NodeJS for Mobile AppHabib MAALEM
 
PHPTour-2011-PHP_Extensions
PHPTour-2011-PHP_ExtensionsPHPTour-2011-PHP_Extensions
PHPTour-2011-PHP_Extensionsjulien pauli
 

Similaire à mini projet (20)

Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs Symfony
 
ZendFramework2 - Présentation
ZendFramework2 - PrésentationZendFramework2 - Présentation
ZendFramework2 - Présentation
 
Introduction à Zend Framework 2
Introduction à Zend Framework 2Introduction à Zend Framework 2
Introduction à Zend Framework 2
 
Utiliser le Zend Framework avec Symfony
Utiliser le Zend Framework avec SymfonyUtiliser le Zend Framework avec Symfony
Utiliser le Zend Framework avec Symfony
 
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
 
Zf2 ce-qui-va-changer
Zf2 ce-qui-va-changerZf2 ce-qui-va-changer
Zf2 ce-qui-va-changer
 
Asp Au Service Des Mv Ps
Asp Au Service Des Mv PsAsp Au Service Des Mv Ps
Asp Au Service Des Mv Ps
 
Développement sécurisé d'applications avec Zend Framework
Développement sécurisé d'applications avec Zend FrameworkDéveloppement sécurisé d'applications avec Zend Framework
Développement sécurisé d'applications avec Zend Framework
 
Java dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnASJava dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnAS
 
Introduction aspnet
Introduction aspnetIntroduction aspnet
Introduction aspnet
 
Zen02 formation-zend-framework-1-les-bases
Zen02 formation-zend-framework-1-les-basesZen02 formation-zend-framework-1-les-bases
Zen02 formation-zend-framework-1-les-bases
 
Framework php « Codeignitor »
Framework php « Codeignitor » Framework php « Codeignitor »
Framework php « Codeignitor »
 
Entity_framework_db first
Entity_framework_db firstEntity_framework_db first
Entity_framework_db first
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJS
 
Introduction à node.js
Introduction à node.js Introduction à node.js
Introduction à node.js
 
Développement Sous Android
Développement Sous AndroidDéveloppement Sous Android
Développement Sous Android
 
Architecture PHP 3 tier avec Zend en backend de Drupal
Architecture PHP 3 tier avec Zend en backend de DrupalArchitecture PHP 3 tier avec Zend en backend de Drupal
Architecture PHP 3 tier avec Zend en backend de Drupal
 
NodeJS for Mobile App
NodeJS for Mobile AppNodeJS for Mobile App
NodeJS for Mobile App
 
Mpdf 9
Mpdf 9Mpdf 9
Mpdf 9
 
PHPTour-2011-PHP_Extensions
PHPTour-2011-PHP_ExtensionsPHPTour-2011-PHP_Extensions
PHPTour-2011-PHP_Extensions
 

mini projet

  • 2. Plan 2 1-Introduction: 2-Définition: 3-Les objectifs d’un ZF: 4-Le logiciel à utiliser: 5-Exemples de code d’un ZF 6-Conclusion :
  • 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.