Publicité
Publicité

Contenu connexe

Publicité
Publicité

ZendFramework2 - Présentation

  1. Introduction à Zend Framework 2
  2. Responsable documentation française
  3. Donne des webinars sur ZF en partenariat avec Zend
  4. Travaille sur l'aide à la traduction et propose les versions déconnectées de la documentation PDF / CHM
  5. @mikaelkael / http://mikaelkael.fr
  6. Expert PHP avec une dizaine d'années d'expérience
  7. Travaille dans l'opensource et contribue à certains projets comme Zend Framework, Apache ou encore PHP lui-même
  8. Travaille en conseil et formation chez AlterWay
  9. Co-auteur de "Zend Framework, bien développer en PHP"
  10. @julienPauli / http://julien-pauli.developpez.com/
  11. ZF2 : pourquoi ?
  12. Mars 2006 : v0.1
  13. Juillet 2007 : v1.0 : MVC, Db, Acl, Auth
  14. Mars 2008 : v1.5 : Form, Layout, Context
  15. Avril 2009 : v1.8 : Application, Tool, Nav
  16. Juin 2010 : formation CRTeam
  17. Octobre 2010 : v1.11 : Cloud, UserAgent
  18. Améliorer les performances
  19. Améliorer la courbe d'apprentissage
  20. Réécrire quand cela est nécessaire
  21. ZF2 : améliorer l'extensibilité
  22. Programmation par contrat : des interfaces au dessus des classes abstraites
  23. Suppression des dépendances codées en dur
  24. ZF2 : améliorer les performances
  25. Autoloading
  26. Chargement des plugins
  27. Où est le rendu dans tout ça ?
  28. Et les layouts ? class MonController extends Zend_Controller_Action { public function monAction() { $this ->view->maVariable = 'maValeur' ; } } => La magie rend l'apprentissage plus difficile
  29. Outils pour générer le mapping
  30. Le plus efficace en terme de performances php classmap_generator.php Some/Directory/ // .classmap.php return array ( 'FooomeController' => __DIR__ . '/foo/controllers/SomeController.php' , 'Fooodelar' => __DIR__ . '/foo/models/Bar.php' , ); // ClassMapAutoloader require_once 'Zend/Loader/ClassMapAutoloader.php' ; $loader = new ZendoaderlassMapAutoloader( './.classmap.php' ); $loader ->register(); $bar = new Fooodelar();
  31. Flexibilité et performance au cours du développement
  32. Peut aussi agir en autoloader par défaut (s'appuie sur include_path ) require_once 'Zend/Loader/StandardAutoloader.php' ; $loader = new ZendoadertandardAutoloader(); $loader ->registerNamespace( 'Mkk' , APPLICATION_PATH . '/../library/Mkk' ); $loader ->registerPrefix( 'Doctrine' , APPLICATION_PATH . '/../library/Doctrine' ); // ceci n'est pas recommandé mais reste toutefois possible $loader ->setFallbackAutoloader( true ); $loader ->register(); $foo = new Mkkodeloo();
  33. La casse est importante
  34. Les solutions actuelles ne s'intéressent qu'à l'aspect chargement des classes
  35. L'instanciation est différente suivant les composants
  36. La persistance est différente suivant les composants
  37. ZF2 : améliorer la courbe d'apprentissage
  38. Méthodes non présentées
  39. Inconsistance entre les différents composants
  40. Exemple souvent spécifiques au composant
  41. Démarrage rapide
  42. Options
  43. Méthodes
  44. Exemples
  45. On ne sait pas toujours comment et quand étendre les composants
  46. Réduire le nombre d'appels magiques
  47. Revoir certaines API non claires
  48. Zend Framework 2.0 : réécrire quand cela est nécessaire
  49. Chaque composant possède son interface
  50. Permet d'utiliser xception dans tous les cas // Interface namespace Zendarcode; interface Exception{} // Exception spécifique namespace Zendarcodexception; use Zendarcodexception; class InvalidArgumentException extends nvalidArgumentException implements Exception{} // Utilisation use Zendarcodexception; try { // Faire qqch } catch (ExceptionnvalidArgumentException $e ) { // Exception spécifique } catch (Exception $e ) { // Interface du composant } catch (xception $e ) { // Exception générale }
  51. Stockage des espaces de noms incompatible avec $_SESSION
  52. Difficile de récupérer les données du schéma
  53. Difficile d'étendre
  54. N'ont pas tous la même méthodologie dans le chargement des plugins
  55. Zend Framework 2.0 : où en est-on aujourd'hui ?
  56. Suppression require_once
  57. Ajout des interfaces (sur classes abstraites)
  58. Migration vers les espaces de noms
  59. Additions SPL, SignalSlot
  60. Réécriture de Zend_Session
  61. Zend Framework 2.0.0dev1
  62. http://devzone.zend.com/article/12385-First-Development-Milestone-of-ZF-2.0-Released
  63. Refactorisation I180 et L10N
  64. Amélioration des tests
  65. Documentation
  66. Packaging
  67. Outils de migration
  68. Liste des contributeurs ZF : [email_address]
  69. IRC : #zftalk.dev on Freenode
  70. http://github.com/zendframework/zf2
  71. Merci. Questions ? Talks : http://joind.in/talk/view/2094 Slideshare : http://www.slideshare.net/mikaelkael
Publicité