Zend Framework : Bien Développer En
Total Page:16
File Type:pdf, Size:1020Kb
__ g les Programmez intelligent Cahiers avec du les Pauli Cahiers Ponçon J. Programmeur du Programmeur G. Architecte certifié PHP et Zend Framework, Julien Pauli est responsable du pôle Zend Frame- Framework work/PHP chez Anaska (groupe Zend Alter Way). Contributeur de la pre- mière heure au framework en colla- En imposant des règles strictes de gestion de code et en offrant une très boration avec Zend Technologies, riche bibliothèque de composants prêts à l’emploi, le framework PHP 5 Zend conférencier et membre de l’AFUP, Framework guide le développeur web dans l’industrialisation de ses dévelop- il publie des articles sur PHP dans la pements, afin d’en garantir la fiabilité, l’évolutivité et la facilité de maintenance. presse. Fondateur et gérant de la société Cet ouvrage présente les meilleures pratiques de développement web avec OpenStates (partenaire Zend PHP 5 et le Zend Framework : design patterns, MVC, base de données, sécu- Technologies et Anaska), Bien développer en PHP rité, interopérabilité, tests unitaires, gestion des flux et des sessions, etc. Guillaume Ponçon intervient Non sans rappeler les prérequis techniques et théoriques à l’utilisation du fra- depuis plus de sept ans auprès de Julien Pauli mework, l’ouvrage aidera tant les développeurs débutants en PHP que les grands comptes sur de nom- chefs de projets ou architectes aguerris souhaitant l’utiliser en entreprise. breuses missions d’expertise, de Guillaume Ponçon conseil et de formation PHP. Ingé- nieur EPITA, expert certifié PHP et Zend Framework, il est aussi spé- cialiste des systèmes Unix/Linux et Framework Préface de Wil Sinclair pratique Java et C/C++. Très im- Sommaire pliqué dans la communauté PHP, avec la présidence de l’AFUP en Zend Framework • Inconvénients et avantages • Structure et principes • Conseils 2007-2008 et la création de la pour démarrer • Cahier des charges • Une application de réservations de salles • Web TV PHPTV, il est l’auteur de Spécifications fonctionnelles et techniques • Conventions • Installation et prise en l’ouvrage Best practices PHP 5 et main • Téléchargement et configuration • Composants de base • Chargement des coauteur du Mémento PHP et SQL classes • Gestion des messages • Débogage • Exceptions • Registre • Bases de don- aux éditions Eyrolles. nées • SGBD compatibles • PDO • Exécution de requêtes • Passerelles et modèles de données Performances et sécurité des données Étendre Zend_Db MVC : pre- • • • 0 mière approche • Parcours de la requête • Créer une vue • Créer un gabarit géné- 2 9 ral • MVC avancé • Les objets de MVC • Routage • Dispatching • Plugins • Aides de 3 2 vues et d’action • Distributeur • Configuration • Sessions • Le composant session • 1 Espaces de noms • Authentification • Adaptateurs • Listes de contrôle d’accès • 2 1 Ressources et rôles des ACL • Internationalisation • Gestion de la locale • 2 2 Multilinguisme Gettext/TMX Monnaies Dates Performances Cache APC 8 • • • • • • • Zend 7 Gestion de la mémoire • Compilation • Sécurité • Validateurs • Filtres • Attaques cou- Code éditeur : G12392 ISBN : 978-2-212-12392-0 9 rantes et parades • Interopérabilité • REST • SOAP • Flux de données • Autres com- Conception couverture : Nordcompo posants • E-mails • PDF • Formulaires • Outils et méthodologie • Zend Studio pour 39 € Eclipse (IDE) • Débogage • Profilage • Tests • Utilisation avancée • Créer et dériver des composants • Intégration • Annexes • Ce qu’est un framework • Rappel sur les bases de données • Programmation orientée objet • Motifs de conception (design pat- terns) • MVC • PHP • Subversion • PHPUnit. PDT_12392_ZEND 30/10/08 9:23 Page 1 les Cahiers du Programmeur Zend Framework Du même auteur G. PONÇON . – Best practices PHP 5. Les meilleures pratiques de développement en PHP. N°11676, 2005, 470 pages C. PIE rr E DE GEYE R , G. PONÇON . – Mémento PHP et SQL. N°11785, 2006, 14 pages Collection « Les cahiers du programmeur » P. ROQUES . – UML 2. Modéliser une application web. N°12389, 6e édition, 2008, 247 pages A. GONC A LVES . – Java EE 5. N°12363, 2e édition, 2008, 370 pages E. PUYB ar ET . – Swing. N°12019, 2007, 500 pages E. PUYB ar ET . – Java 1.4 et 5.0. N°11916, 3e édition, 2006, 400 pages J. MOLIÈ R E . – J2EE. N°11574, 2e édition, 2005, 220 pages R. FLEU R Y – Java/XML. N°11316, 2004, 218 pages J. PR OTZENKO , B. PIC A UD . – XUL. N°11675, 2005, 320 pages S. Mar IEL . – PHP 5. N°11234, 2004, 290 pages Chez le même éditeur E. DA S P ET , C. PIE rr E DE GEYE R . – PHP 5 avancé. N°12369, 5e édition, 2008, 844 pages J.-M. DE fra NCE . – Premières applications Web 2.0 avec Ajax et PHP. N°12090, 2008, 450 pages D. SE G UY , P. Gama CHE . Sécurité PHP 5 et MySQL. N°12114, 2007, 250 pages C. PO R TENEUVE – Bien développer pour le Web 2.0. Bonnes pratiques Ajax. N°12391, 2e édition, 2008, 674 pages A. BOUCHE R . – Mémento Ergonomie web. N°12386, 2008, 14 pages V. MESS ag E R -ROT A . – Gestion de projet. Vers les méthodes agiles. N°12165, 2007, 252 pages H. BE R SINI , I. WELLESZ . – L’orienté objet. N°12084, 3e édition, 2007, 600 pages P. ROQUES . – UML 2 par la pratique. N°12322, 6e édition, 368 pages S. BO R D ag E . – Conduite de projet Web. N°12325, 5e édition, 2008, 394 pages K. Djaafar . – Développement JEE 5 avec Eclipse Europa. N°12061, 2008, 380 pages J. DUBOIS , J.-P. RETA ILLÉ , T. TE mp LIE R . – Spring par la pratique. Java/J2EE, Spring, Hibernate, Struts, Ajax. – N°11710, 2006, 518 pages T. ZI A DÉ . – Programmation Python. – N°11677, 2006, 530 pages Collection « Accès libre » Pour que l’informatique soit un outil, pas un ennemi ! Joomla et Virtuemart – Réussir sa boutique en ligne. V. IS A KSEN , T. Tar DI F . – N°12381, 2008, 270 pages Open ERP – Pour une gestion d’entreprise efficace et intégrée. F. PINCK A E R S , G. Gar DINE R . – N°12261, 2008, 276 pages Réussir son site web avec XHTML et CSS. M. NEB ra . – N°12307, 2e édition, 2008, 316 pages Ergonomie web. Pour des sites web efficaces. A. BOUCHE R . – N°12158, 2007, 426 pages Gimp 2 efficace – Dessin et retouche photo. C. GÉ M Y . – N°12152, 2e édition, 2008, 402 pages La 3D libre avec Blender. O. Saraja . – N°12385, 3e édition, 2008, 400 pages avec CD-Rom et cahier couleur (À paraître). Scenari – La chaîne éditoriale libre. S. CR OZ A T . – N°12150, 2007, 200 pages Créer son site e-commerce avec osCommerce. D. ME R CE R , adapté par S. BU rr IEL . – N°11932, 2007, 460 pages Réussir un site web d’association… avec des outils libres. A.-L. ET D. QU A T ra V A UX . – N°12000, 2e édition, 2007, 372 pages Ubuntu efficace.. L. DR ICOT et al. – N°12003, 2e édition, 2007, 360 pages avec CD-Rom Réussir un projet de site Web. N. CHU . – N°12400, 5e édition, 2008, 230 pages PDT_12392_ZEND 30/10/08 9:24 Page 3 Julien Pauli Guillaume Ponçon les Cahiers du Programmeur Zend Framework Bien développer en PHP Préface de Wil Sinclair ÉDITIONS EYROLLES 61, bd Saint-Germain 75240 Paris Cedex 05 www.editions-eyrolles.com Dessins d’ouverture des chapitres : © Guillaume Ponçon. Le code de la propriété intellectuelle du 1er juillet 1992 interdit en effet expressément la photocopie à usage collectif sans autorisation des ayants droit. Or, cette pratique s’est généralisée notamment dans les établissements d’enseignement, provoquant une baisse brutale des achats de livres, au point que la possibilité même pour les auteurs de créer des œuvres nouvelles et de les faire éditer correctement est aujourd’hui menacée. En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que ce soit, sans autorisation de l’éditeur ou du Centre Français d’Exploitation du Droit de Copie, 20, rue des Grands-Augustins, 75006 Paris. © Groupe Eyrolles, 2009, ISBN : 978-2-212-12392-0 Préface Lors de la première conférence Zend/PHP en 2005, la société Zend Technologies a présenté le Zend Framework comme étant un élément clé et décisif dans le projet de la communauté PHP. À cette époque, PHP était connu pour être la seule solution de développement web com- binant puissance et simplicité de mise en œuvre. Cependant, nombre de développeurs s’aperçurent que leurs simples scripts PHP, qui traitaient à la fois l’accès à des bases de données, la logique métier et l’affichage, ne pouvaient tenir la durée face à la complexité croissante des applications web modernes. Est alors devenue évidente la nécessité de structurer les applications pour les rendre plus faciles à maintenir et tirer parti du potentiel de PHP 5. Le Zend Framework a certainement beaucoup contribué à l’organisation et à la structuration des applications PHP 5, tout en ayant résolu d’autres problèmes inhérents au développement web. Il fournit des com- posants d’utilisation courante qui sont testés (les tests couvrent au moins 80 % de l’ensemble du code) de manière à ce que les développeurs PHP ne réinventent pas la roue à chaque nouvelle application. En outre, les standards de codage qu’il met en œuvre améliorent et facilitent la gestion des projets engageant des équipes entières de développeurs. Plus impor- tant encore, utiliser le Zend Framework encourage les bonnes pratiques de développement PHP, puisque lui-même les met en application. Nous incitons ainsi les développeurs à améliorer leur code en leur apportant ce que nous pensons être des fondations solides, écrites proprement. Au fil des années, le Zend Framework s’est enrichi de nombreux compo- sants, a vu exploser le nombre de ses contributeurs et utilisateurs ainsi que le nombre de ses déploiements, au point qu’il est devenu le fra- mework leader pour les projets PHP des plus modestes aux plus ambi- © Groupe Eyrolles, 2008 tieux, qu’ils soient menés par des amateurs ou par les plus grands comptes.