SlideShare une entreprise Scribd logo
Plateforme de développement en PHP5. Zend Framework + Doctrine. Présentation:  M. Morel CORNNERY M. Boubacar DOUMBOUYA
Plan Introduction Vue globale sur zend Framework Présentation Doctrine (Modèle)  Exemple d’application avec zend et doctrine Déploiement Démo
Introduction Objectif d’une plateforme de développement? Professionnaliser  le développement des application web . Comment? Avec des outils (Framework) Une structuration Une industrialisation Standardisation Internationnalisation Pérennite
Vue globale sur zend Framework Présentation Points forts Points faibles Composants Architectures Sécurité
Présentation Framework open-source PHP 5, Oriente Objet, initié par Zend.  Agé d’un plus de trois (3) ans Une communauté très vivante et qualifiée (180 pers) Des conventions complètes Une documentations en plusieurs langues (30) De nombreuses librairies pratiques Une architecture de base minimale Objectif ? Simplifier le développement des grosses applications webs. Développer plus vite Comment? Ajout de nombreux composants  (librairies ) + Une approche MVC  visant a simplifier les taches du développeur  Améliorer la qualité  du code.
Points forts Sa souplesse et sa simplicité Ses conventions complètes basées sur PEAR La structure et l’étendue de ses librairie Son model de développement ouvert La confiance et l’engagement des professionnels pour ce projets Google, IBM et plusieurs centaines de d’entreprise  qui l’utilisent actuellement Sa documentation complète
Atouts fonctionnels Documentation Configurabilité Sécurité Aide debugging Auto-loading Helpers Test fonctionnels ORM I18n/L10n (internationalisation)
Points faibles Pas de système de plugins Il faut tout créer soit même lors de la première installation (configuration, bootstrap,…) Intégration avec d’autres composants des autres Framework est assez complexe, voir impossible
Architectures 48 composants à l’heure actuelle, avec peu d’inter- dépendance Noyau (Core) Interopérabilité, services web Gestion des données Internationalisation MVC
Architecture de zend Framework
Librairies Zend_Controller Zend_Form Zend_View Zend_Acl Zend_Auth
Sécurité Les attaques courantes sur le web: XSS, injection SQL, Injection JavaScript, Session et cookies Les solution proposées par Zend: Zend_Validate Zend_Filter Zend_Session
Présentation de doctrine  Présentation Points forts Points faibles Architectures Composants
Présentation Doctrine est une (ORM) pour PHP 5.2.3+  Doctrine S'appuie sur PDO et est lui même divisé en deux couches: la couche ORM la couche DBAL Doctrine vient avec son propre langage appelé Doctrine Query Language (DQL), inspiré de Hibernates (HQL).  Ceci fournit une réelle  alternative au SQL basique maintient la flexibilité sans exiger la duplication inutile de code.
Points forts Utilisation de DQL (doctrine query language) qui permet de faciliter très largement l'écriture de requête SQL dîtes complexes Le nombre de fonctionnalités relativement important Interfaçage avec de nombreuses Bdd (oracle, ibm informix, sqlsever, postgresql, mysql,Firebird,sqlite,…) Tutoriels très efficaces et prise en main rapide Bonnes améliorations des performances liées à l'utilisation d'active record dans les dernières release
Points faibles Pas de connecteur pour les annuaires comme LDAP Communauté pas assez grande
Architecture
composants Doctrine::Manager Doctrine::Connection Doctrine::Record Doctrine::Table Doctrine::Collection Doctrine::Validator Doctrine::View
Architecture d’une application avec Zend Framework et doctrine
Architecture d’une application web avec Zend Framework Présentation Contrôle de l’application Logique métier Accès aux données Source de données
Workflow d’une requête avec zend Framework
Workflow d’une requete dans ZF Requête Réponse Routage Contrôleur (init()) Pré-envoi ACTION Post-envoi (Module/controller/action) Répartiteur (dispatcher) Contrôleur frontal
Workflow d’une requête avec Z-F Le  bootstrap  (application/bootstrap.php) est le point d'entrée dans l'application, il s'agit de l'implémentation du design pattern contrôleur frontal   et d'un  singleton . Toutes les requêtes passent par cet objet, à sa charge d'acheminer ( dispatcher ) vers les actions (suivant une route par défaut ou définie par le concepteur). Les réponses sont collectées par cet objet. La requête peut d'abord être prétraitée dans un  plugin , cela permet au concepteur d'effectuer des traitements en tout début de requête. La requête est routée, c'est à dire que l'on traduit l'URI d'entrée en lien vers le bon contrôleur. Le contrôleur est instancié, son constructeur init() est lancé. La fonction preDispatch() est lancé si elle existe juste avant de lancer l'action : par exemple readAction(...). Le contrôleur se termine et la fonction postDispatch() est lancée. La réponse est renvoyée au visiteur.
Exemple d’application avec zend et doctrine Organisation de l’application Les conventions de nommages Notions importantes Urls Bootsrap Configuration  Controllers Vues Forms Layout Models
Organisation de l’application Monapplication Application Bootsrap.php Global.php Configuration  layouts Modules Referentiel Controllers Views Library Zend Doctrine Ssi  Forms Publics
Convention de nommage #Zend_Db représente un  composant que l'on peut aussi appeler  package (en référence à  Java),  Matérialisé par le script /library/Zend/Db.php, la classe représentée étant Zend_Db. Cette convention de nommage sera utilisée pour charger des classes plus tard. Elle est identique à certains projets tels que PEAR. Remplacez les underscores ( _ ) dans le nom de la classe par des slashs ( / ), pour voir apparaître l'arborescence du fichier.
URLs Basic URL routes: •  /controller/action •  /controller/action/param/value •  /module/controller/action •  /module/controller/action/param/value Exemple: BASE_URL.'referentiel/branche/';
Bootstrap (arborescence)
Bootstrap
Bootstrap
Bootstrap(Doctrine)
Bootstrap(Doctrine suite)
configuration
Configuration
Controllers
controller
Action
Forms(arborescence)
Forms (code)
Views (Arborescences)
Views(Formulaire)
Views (Liste)
Layout (arborescence)
Layout(header)
Layout(body)
Model(arborescence)
Model(Base)
Model(Base 2)
Model (méthodes)
Déploiement  Environnement de déploiement Version PHP 5.2.x Modules PHP à activer PDO avec les drivers nécessaires php_value short_open_tag  <? ?> Version apache 2.x Modules apache a activer Mod Rewrite
CONCLUSION
FIN

Contenu connexe

PPT
PHP5 et Zend Framework
ODP
Symfony Best Practices
ODP
Patterns and OOP in PHP
PDF
AlterWay SolutionsLinux Outils Industrialisation PHP
PDF
Zend Framework 2.0 - Le gestionnaire de modules
ODP
Presentation du framework symfony
ODP
Formation PHP avancé - Cake PHP
PPTX
Symfony3 overview
PHP5 et Zend Framework
Symfony Best Practices
Patterns and OOP in PHP
AlterWay SolutionsLinux Outils Industrialisation PHP
Zend Framework 2.0 - Le gestionnaire de modules
Presentation du framework symfony
Formation PHP avancé - Cake PHP
Symfony3 overview

Tendances (20)

PDF
symfony : Un Framework Open-Source pour les Professionnels
PDF
Gestion des dépendances dans un projet PHP - RMLL 2012
PDF
Bonnes pratiques de developpement en PHP
PDF
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
PDF
Les Web Services en 60 diapos chrono !
ODP
Introduction à Zend Framework
PDF
Programmation orientee aspect 201401 - Ensim
PDF
Procédure de configuration et préparation de l’environnement sous windows
PDF
AFUP & PHP @ Supelec
PDF
Alphorm.com Formation PowerShell : Niveau Perfectionnement
PDF
Cakephp
PDF
Django pour les développeurs Symfony (et réciproquement)
PDF
symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)
PDF
Spring Meetup Paris - Back to the basics of Spring (Boot)
PDF
Installation open erp
PDF
MVC / Frameworks PHP
PDF
Tutoriel java
PPTX
Spring & SpringBatch FR
PPT
Presentation JPA
PDF
Cours design pattern m youssfi partie 7 facade bridge flyweight
symfony : Un Framework Open-Source pour les Professionnels
Gestion des dépendances dans un projet PHP - RMLL 2012
Bonnes pratiques de developpement en PHP
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Les Web Services en 60 diapos chrono !
Introduction à Zend Framework
Programmation orientee aspect 201401 - Ensim
Procédure de configuration et préparation de l’environnement sous windows
AFUP & PHP @ Supelec
Alphorm.com Formation PowerShell : Niveau Perfectionnement
Cakephp
Django pour les développeurs Symfony (et réciproquement)
symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)
Spring Meetup Paris - Back to the basics of Spring (Boot)
Installation open erp
MVC / Frameworks PHP
Tutoriel java
Spring & SpringBatch FR
Presentation JPA
Cours design pattern m youssfi partie 7 facade bridge flyweight
Publicité

En vedette (20)

PDF
Internationaliser un formulaire zend form
PDF
Développement d'un moteur de recherche avec Zend Search
PPTX
Presentation pfe 2012
PDF
Conception et réalisation d’un Système d’information des étudiants du départe...
PDF
Twitter Bootstrap par Antoine Guédès et Cédric Dussart
PPTX
Les CMS basés sur framework - PHP Tour 2011
PDF
Introduction to Bootstrap
PDF
Aframe charte2011 v2_1
DOC
Charte des droits
PPT
Soutenance Zend Framework vs Symfony
PDF
Un exemple élémentaire d'application MVC en PHP
PDF
WebApp #1 : introduction
PPTX
Responsive web-design through bootstrap
PDF
Bootstrap 3 - Sleek, intuitive, and powerful mobile first front-end framework...
PPTX
La Stratégie d'Amazon selon Jeff Bezos
PDF
Bootstrap 3 Basic - Bangkok WordPress Meetup
PDF
Utiliser Joomla 3 et Bootstrap 3 depuis une application externe
PDF
Les 4 phases du management de projet
PPT
Les différentes phases d’un projet - La phase d’initialisation
PDF
Management de Projet: piloter, animer, conduire des projets
Internationaliser un formulaire zend form
Développement d'un moteur de recherche avec Zend Search
Presentation pfe 2012
Conception et réalisation d’un Système d’information des étudiants du départe...
Twitter Bootstrap par Antoine Guédès et Cédric Dussart
Les CMS basés sur framework - PHP Tour 2011
Introduction to Bootstrap
Aframe charte2011 v2_1
Charte des droits
Soutenance Zend Framework vs Symfony
Un exemple élémentaire d'application MVC en PHP
WebApp #1 : introduction
Responsive web-design through bootstrap
Bootstrap 3 - Sleek, intuitive, and powerful mobile first front-end framework...
La Stratégie d'Amazon selon Jeff Bezos
Bootstrap 3 Basic - Bangkok WordPress Meetup
Utiliser Joomla 3 et Bootstrap 3 depuis une application externe
Les 4 phases du management de projet
Les différentes phases d’un projet - La phase d’initialisation
Management de Projet: piloter, animer, conduire des projets
Publicité

Similaire à Plateforme De DéVeloppement En Php5 (Zend + Doctrine) (20)

PDF
Utiliser le Zend Framework avec Symfony
PDF
Zf2 ce-qui-va-changer
PDF
Introduction à Zend Framework 2
ODP
ZendFramework2 - Présentation
PDF
Zend Framework - Simplicity Meet Power
PPTX
mini projet
PDF
Etude des Frameworks PHP
PDF
Zen02 formation-zend-framework-1-les-bases
PPTX
Zend Framework 2
PDF
Playing With PHP 5.3
ODP
Industrialisez vos projets Php
PDF
Mieux Développer en PHP avec Symfony
PDF
Diaporama du sfPot Lillois du 20 mars 2014
PDF
Mon environnement de travail a-t-il encore un avenir ?
PPTX
Architecture mvc
PDF
Zen05 formation-zend-framework-2-les-bases
PPT
Presentation Symfony
PPT
Frameworks php - Solutions Linux 2008
PDF
Zen06 formation-zend-framework-2-les-bases-et-perfectionnement
PPTX
retour sur confoo2011 et Symfony2
Utiliser le Zend Framework avec Symfony
Zf2 ce-qui-va-changer
Introduction à Zend Framework 2
ZendFramework2 - Présentation
Zend Framework - Simplicity Meet Power
mini projet
Etude des Frameworks PHP
Zen02 formation-zend-framework-1-les-bases
Zend Framework 2
Playing With PHP 5.3
Industrialisez vos projets Php
Mieux Développer en PHP avec Symfony
Diaporama du sfPot Lillois du 20 mars 2014
Mon environnement de travail a-t-il encore un avenir ?
Architecture mvc
Zen05 formation-zend-framework-2-les-bases
Presentation Symfony
Frameworks php - Solutions Linux 2008
Zen06 formation-zend-framework-2-les-bases-et-perfectionnement
retour sur confoo2011 et Symfony2

Dernier (7)

PPTX
Souveraineté numérique - Définition et enjeux pour les entreprises et les dév...
PDF
FORMATION COMPLETE EN EXCEL DONE BY MR. NYONGA BRICE.pdf
PDF
presentation_with_intro_compressee IEEE EPS France
PDF
Modems expliqués- votre passerelle vers Internet.pdf
PDF
FORMATION EN Programmation En Langage C.pdf
PPTX
Presentation_Securite_Reseaux_Bac+2.pptx
PDF
Tendances tech 2025 - SFEIR & WENVISION.pdf
Souveraineté numérique - Définition et enjeux pour les entreprises et les dév...
FORMATION COMPLETE EN EXCEL DONE BY MR. NYONGA BRICE.pdf
presentation_with_intro_compressee IEEE EPS France
Modems expliqués- votre passerelle vers Internet.pdf
FORMATION EN Programmation En Langage C.pdf
Presentation_Securite_Reseaux_Bac+2.pptx
Tendances tech 2025 - SFEIR & WENVISION.pdf

Plateforme De DéVeloppement En Php5 (Zend + Doctrine)

  • 1. Plateforme de développement en PHP5. Zend Framework + Doctrine. Présentation: M. Morel CORNNERY M. Boubacar DOUMBOUYA
  • 2. Plan Introduction Vue globale sur zend Framework Présentation Doctrine (Modèle) Exemple d’application avec zend et doctrine Déploiement Démo
  • 3. Introduction Objectif d’une plateforme de développement? Professionnaliser le développement des application web . Comment? Avec des outils (Framework) Une structuration Une industrialisation Standardisation Internationnalisation Pérennite
  • 4. Vue globale sur zend Framework Présentation Points forts Points faibles Composants Architectures Sécurité
  • 5. Présentation Framework open-source PHP 5, Oriente Objet, initié par Zend. Agé d’un plus de trois (3) ans Une communauté très vivante et qualifiée (180 pers) Des conventions complètes Une documentations en plusieurs langues (30) De nombreuses librairies pratiques Une architecture de base minimale Objectif ? Simplifier le développement des grosses applications webs. Développer plus vite Comment? Ajout de nombreux composants (librairies ) + Une approche MVC visant a simplifier les taches du développeur Améliorer la qualité du code.
  • 6. Points forts Sa souplesse et sa simplicité Ses conventions complètes basées sur PEAR La structure et l’étendue de ses librairie Son model de développement ouvert La confiance et l’engagement des professionnels pour ce projets Google, IBM et plusieurs centaines de d’entreprise qui l’utilisent actuellement Sa documentation complète
  • 7. Atouts fonctionnels Documentation Configurabilité Sécurité Aide debugging Auto-loading Helpers Test fonctionnels ORM I18n/L10n (internationalisation)
  • 8. Points faibles Pas de système de plugins Il faut tout créer soit même lors de la première installation (configuration, bootstrap,…) Intégration avec d’autres composants des autres Framework est assez complexe, voir impossible
  • 9. Architectures 48 composants à l’heure actuelle, avec peu d’inter- dépendance Noyau (Core) Interopérabilité, services web Gestion des données Internationalisation MVC
  • 10. Architecture de zend Framework
  • 11. Librairies Zend_Controller Zend_Form Zend_View Zend_Acl Zend_Auth
  • 12. Sécurité Les attaques courantes sur le web: XSS, injection SQL, Injection JavaScript, Session et cookies Les solution proposées par Zend: Zend_Validate Zend_Filter Zend_Session
  • 13. Présentation de doctrine Présentation Points forts Points faibles Architectures Composants
  • 14. Présentation Doctrine est une (ORM) pour PHP 5.2.3+ Doctrine S'appuie sur PDO et est lui même divisé en deux couches: la couche ORM la couche DBAL Doctrine vient avec son propre langage appelé Doctrine Query Language (DQL), inspiré de Hibernates (HQL). Ceci fournit une réelle alternative au SQL basique maintient la flexibilité sans exiger la duplication inutile de code.
  • 15. Points forts Utilisation de DQL (doctrine query language) qui permet de faciliter très largement l'écriture de requête SQL dîtes complexes Le nombre de fonctionnalités relativement important Interfaçage avec de nombreuses Bdd (oracle, ibm informix, sqlsever, postgresql, mysql,Firebird,sqlite,…) Tutoriels très efficaces et prise en main rapide Bonnes améliorations des performances liées à l'utilisation d'active record dans les dernières release
  • 16. Points faibles Pas de connecteur pour les annuaires comme LDAP Communauté pas assez grande
  • 18. composants Doctrine::Manager Doctrine::Connection Doctrine::Record Doctrine::Table Doctrine::Collection Doctrine::Validator Doctrine::View
  • 19. Architecture d’une application avec Zend Framework et doctrine
  • 20. Architecture d’une application web avec Zend Framework Présentation Contrôle de l’application Logique métier Accès aux données Source de données
  • 21. Workflow d’une requête avec zend Framework
  • 22. Workflow d’une requete dans ZF Requête Réponse Routage Contrôleur (init()) Pré-envoi ACTION Post-envoi (Module/controller/action) Répartiteur (dispatcher) Contrôleur frontal
  • 23. Workflow d’une requête avec Z-F Le  bootstrap  (application/bootstrap.php) est le point d'entrée dans l'application, il s'agit de l'implémentation du design pattern contrôleur frontal et d'un  singleton . Toutes les requêtes passent par cet objet, à sa charge d'acheminer ( dispatcher ) vers les actions (suivant une route par défaut ou définie par le concepteur). Les réponses sont collectées par cet objet. La requête peut d'abord être prétraitée dans un  plugin , cela permet au concepteur d'effectuer des traitements en tout début de requête. La requête est routée, c'est à dire que l'on traduit l'URI d'entrée en lien vers le bon contrôleur. Le contrôleur est instancié, son constructeur init() est lancé. La fonction preDispatch() est lancé si elle existe juste avant de lancer l'action : par exemple readAction(...). Le contrôleur se termine et la fonction postDispatch() est lancée. La réponse est renvoyée au visiteur.
  • 24. Exemple d’application avec zend et doctrine Organisation de l’application Les conventions de nommages Notions importantes Urls Bootsrap Configuration Controllers Vues Forms Layout Models
  • 25. Organisation de l’application Monapplication Application Bootsrap.php Global.php Configuration layouts Modules Referentiel Controllers Views Library Zend Doctrine Ssi Forms Publics
  • 26. Convention de nommage #Zend_Db représente un composant que l'on peut aussi appeler package (en référence à Java), Matérialisé par le script /library/Zend/Db.php, la classe représentée étant Zend_Db. Cette convention de nommage sera utilisée pour charger des classes plus tard. Elle est identique à certains projets tels que PEAR. Remplacez les underscores ( _ ) dans le nom de la classe par des slashs ( / ), pour voir apparaître l'arborescence du fichier.
  • 27. URLs Basic URL routes: • /controller/action • /controller/action/param/value • /module/controller/action • /module/controller/action/param/value Exemple: BASE_URL.'referentiel/branche/';
  • 50. Déploiement Environnement de déploiement Version PHP 5.2.x Modules PHP à activer PDO avec les drivers nécessaires php_value short_open_tag <? ?> Version apache 2.x Modules apache a activer Mod Rewrite
  • 52. FIN