Jean-Marie Renouard 
LightPath 2014©
Le logo PHP est du domaine public 
http://commons.wikimedia.org/wiki/File:PHP-logo.svg 
Ce document est licencié sous l...
MVC 
Zend Framework 
Code Igniter 
PEAR 
PHPClasses 
Autres frameworks 
LightPath 2014© - http://www.jmrenouard.fr 
3
LightPath 2014© - http://www.jmrenouard.fr 4
Principe de découpage d’application: 
◦M : Modèle 
◦V : Vue 
◦C: Contrôle 
Paradigme directeur: 
◦Séparation du « métier...
LightPath 2014© - http://www.jmrenouard.fr 6
Pièce centrale 
Récupération des requêtes client 
Appel des bons modèles et services 
Appel de la couche Vue avec les ...
En charge de la mise en forme. 
Peut-être spécifique par type de client 
Préservation des services et des rendus. 
Ligh...
Conteneur du « métier » de l’application. 
Indépendance de la présentation. 
Coeur de l’application 
Point d’entrée ve...
LightPath 2014© - http://www.jmrenouard.fr 10
Une implémentation d’un MVC 
Utilitaires en ligne de commande 
Intégration complète au Zend Studio 
Taille de code : 3...
82 APIs différentes 
◦Aide à la gestion des données 
◦Aide à la création de formulaire 
◦Aide à l’interrogation de donnée...
Uniformité du code. 
Très bon niveau de documentation. 
Large communauté. 
Coordination pour une API consistante 
Ligh...
LightPath 2014© - http://www.jmrenouard.fr 14
Une implémentation d’un MVC 
Pas de ligne de commande 
Simple à mettre en oeuvre 
Taille de code : 80000 lignes 
Light...
30 classes 
20 classes utilitaires 
Simple à comprendre 
Simple à mettre en oeuvre 
Jeu de brique à assembler ! 
Ligh...
Uniformité du code. 
Très bon niveau de documentation. 
grande communauté. 
LightPath 2014© - http://www.jmrenouard.fr ...
LightPath 2014© - http://www.jmrenouard.fr 18
Infrastructure de diffusion de classes 
Taille de code : 16 millions de ligne 
LightPath 2014© - http://www.jmrenouard.f...
Projet de mise à disposition de composant 
Intégration à PHP 
2 utilitaires ligne de commande : 
◦pear 
◦pecl 
PEAR: P...
Extensions PHP annexes 
Les anciennes APIs PHP y sont maintenues. 
265 packages 
◦APC: Cache de code PHP 
◦Memcache: su...
Classes PHP annexes 
569 packages de classes 
◦XML_RPC: support des appels XML RPC 
◦Archive_Tar: support du format tar ...
Code de bonne qualité 
Procédure de validation du projet 
Concurrence de fonctionnalités possibles 
Projet communautai...
LightPath 2014© - http://www.jmrenouard.fr 24
Infrastructure de diffusion de classes 
Projet de mise à disposition de composant 
Pas d’utilitaire d’intégration 
htt...
Code de qualité aléatoire 
Défaut de maintenance sur certaines classes 
Documentation parfois légère 
Qualité par vote...
LightPath 2014© - http://www.jmrenouard.fr 27
ezComponents: 
◦http://ezcomponents.org 
CakePHP: 
◦un autre framework MVC 
◦http://cakephp.org 
◦442 milliers de ligne ...
LightPath: 
◦Société de conseil et d’ingénierie 
◦Formations, Conseil, Audit et mise en oeuvre 
◦jmrenouard@lightpath.fr ...
Prochain SlideShare
Chargement dans…5
×

MVC / Frameworks PHP

842 vues

Publié le

Présentation des frameworks et design MVC en PHP 5

Publié dans : Ingénierie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
842
Sur SlideShare
0
Issues des intégrations
0
Intégrations
159
Actions
Partages
0
Téléchargements
41
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

MVC / Frameworks PHP

  1. 1. Jean-Marie Renouard LightPath 2014©
  2. 2. Le logo PHP est du domaine public http://commons.wikimedia.org/wiki/File:PHP-logo.svg Ce document est licencié sous licence ◦Attribution-NonCommercial-ShareAlike ◦CC BY-NC-SA Plus de détails: http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ LightPath 2014© - http://www.jmrenouard.fr 2
  3. 3. MVC Zend Framework Code Igniter PEAR PHPClasses Autres frameworks LightPath 2014© - http://www.jmrenouard.fr 3
  4. 4. LightPath 2014© - http://www.jmrenouard.fr 4
  5. 5. Principe de découpage d’application: ◦M : Modèle ◦V : Vue ◦C: Contrôle Paradigme directeur: ◦Séparation du « métier » ou « fonctionnel » ◦Séparation de la présentation des données Adapté à la logique de publication multicanaux. LightPath 2014© - http://www.jmrenouard.fr 5
  6. 6. LightPath 2014© - http://www.jmrenouard.fr 6
  7. 7. Pièce centrale Récupération des requêtes client Appel des bons modèles et services Appel de la couche Vue avec les données collectées LightPath 2014© - http://www.jmrenouard.fr 7
  8. 8. En charge de la mise en forme. Peut-être spécifique par type de client Préservation des services et des rendus. LightPath 2014© - http://www.jmrenouard.fr 8
  9. 9. Conteneur du « métier » de l’application. Indépendance de la présentation. Coeur de l’application Point d’entrée vers les données persistantes. LightPath 2014© - http://www.jmrenouard.fr 9
  10. 10. LightPath 2014© - http://www.jmrenouard.fr 10
  11. 11. Une implémentation d’un MVC Utilitaires en ligne de commande Intégration complète au Zend Studio Taille de code : 3,5 millions lignes LightPath 2014© - http://www.jmrenouard.fr 11
  12. 12. 82 APIs différentes ◦Aide à la gestion des données ◦Aide à la création de formulaire ◦Aide à l’interrogation de données ◦Aide à la manipulation de données Jeu de brique à assembler ! LightPath 2014© - http://www.jmrenouard.fr 12
  13. 13. Uniformité du code. Très bon niveau de documentation. Large communauté. Coordination pour une API consistante LightPath 2014© - http://www.jmrenouard.fr 13
  14. 14. LightPath 2014© - http://www.jmrenouard.fr 14
  15. 15. Une implémentation d’un MVC Pas de ligne de commande Simple à mettre en oeuvre Taille de code : 80000 lignes LightPath 2014© - http://www.jmrenouard.fr 15
  16. 16. 30 classes 20 classes utilitaires Simple à comprendre Simple à mettre en oeuvre Jeu de brique à assembler ! LightPath 2014© - http://www.jmrenouard.fr 16
  17. 17. Uniformité du code. Très bon niveau de documentation. grande communauté. LightPath 2014© - http://www.jmrenouard.fr 17
  18. 18. LightPath 2014© - http://www.jmrenouard.fr 18
  19. 19. Infrastructure de diffusion de classes Taille de code : 16 millions de ligne LightPath 2014© - http://www.jmrenouard.fr 19
  20. 20. Projet de mise à disposition de composant Intégration à PHP 2 utilitaires ligne de commande : ◦pear ◦pecl PEAR: Pures classes PHP PECL: Classe PHP avec du code natif C LightPath 2014© - http://www.jmrenouard.fr 20
  21. 21. Extensions PHP annexes Les anciennes APIs PHP y sont maintenues. 265 packages ◦APC: Cache de code PHP ◦Memcache: support du serveur Mencache ◦… LightPath 2014© - http://www.jmrenouard.fr 21
  22. 22. Classes PHP annexes 569 packages de classes ◦XML_RPC: support des appels XML RPC ◦Archive_Tar: support du format tar ◦Mail: support avancée des emails ◦DB/MDB2: support des bases de données ◦… LightPath 2014© - http://www.jmrenouard.fr 22
  23. 23. Code de bonne qualité Procédure de validation du projet Concurrence de fonctionnalités possibles Projet communautaire Documentation parfois légère Maintenance faible de certains composants LightPath 2014© - http://www.jmrenouard.fr 23
  24. 24. LightPath 2014© - http://www.jmrenouard.fr 24
  25. 25. Infrastructure de diffusion de classes Projet de mise à disposition de composant Pas d’utilitaire d’intégration http://www.phpclasses.org LightPath 2014© - http://www.jmrenouard.fr 25
  26. 26. Code de qualité aléatoire Défaut de maintenance sur certaines classes Documentation parfois légère Qualité par vote des utilisateurs Plusieurs milliers de classes ! LightPath 2014© - http://www.jmrenouard.fr 26
  27. 27. LightPath 2014© - http://www.jmrenouard.fr 27
  28. 28. ezComponents: ◦http://ezcomponents.org CakePHP: ◦un autre framework MVC ◦http://cakephp.org ◦442 milliers de ligne Smarty ◦Moteur de rendu officiel de PHP ◦http://smarty.php.net ◦66000 ligne de code Symphony ◦Un autre framework MVC ◦20000 lignes de code LightPath 2014© - http://www.jmrenouard.fr 28
  29. 29. LightPath: ◦Société de conseil et d’ingénierie ◦Formations, Conseil, Audit et mise en oeuvre ◦jmrenouard@lightpath.fr Jean-Marie RENOUARD ◦jmrenouard@gmail.com ◦Twitter: @jmrenouard ◦http://www.jmrenouard.fr LightPath 2014© - http://www.jmrenouard.fr 29

×