Cet ouvrage et des milliers d'autres font partie de la bibliothèque YouScribe
Obtenez un accès à la bibliothèque pour les lire en ligne
On lit avec un ordinateur, une tablette ou son smartphone (streaming)
En savoir plus
ou
Achetez pour : 27,99 €

Lecture en ligne + Téléchargement

Format(s) : EPUB - PDF

sans DRM

Partagez cette publication

Publications similaires

Best practices PHP 5

de editions-eyrolles

Scripting Windows

de editions-eyrolles

Vous aimerez aussi

Pokémon GO 100% non officiel

de editions-eyrolles

J'arrête la malbouffe !

de editions-eyrolles

Le pouvoir des gentils

de editions-eyrolles

suivant
les Cahiers du Programmeur
Bien développer en PHP
JulienPauli GuillaumePonçon
Préface de WilSinclair
Programmez intelligent avec les Cahiers du Programmeur
Zend Framework En imposant des règles strictes de gestion de code et en offrant une très riche bibliothèque de composants prêts à l’emploi, le framework PHP 5 Zend Framework guide le développeur web dans l’industrialisation de ses dévelop-pements, afin d’en garantir la fiabilité, l’évolutivité et la facilité de maintenance.
Cet ouvrage présente les meilleures pratiques de développement web avec PHP 5 et le Zend Framework : design patterns, MVC, base de données, sécu-rité, interopérabilité, tests unitaires, gestion des flux et des sessions, etc. Non sans rappeler les prérequis techniques et théoriques à l’utilisation du fra-mework, l’ouvrage aidera tant les développeurs débutants en PHP que les chefs de projets ou architectes aguerris souhaitant l’utiliser en entreprise.
Sommaire Zend FrameworkInconvénients et avantagesStructure et principesConseils pour démarrerCahier des chargesUne application de réservations de sallesSpécifications fonctionnelles et techniquesConventionsInstallation et prise en mainTéléchargement et configurationComposants de baseChargement des classesGestion des messagesDébogageExceptionsRegistreBases de don-néesSGBD compatiblesPDOExécution de requêtesPasserelles et modèles de donnéesPerformances et sécurité des donnéesÉtendre Zend_DbMVC : pre-mière approcheParcours de la requêteCréer une vueCréer un gabarit géné-ralMVC avancéLes objets de MVCRoutageDispatchingPluginsAides de vues et d’actionDistributeurConfigurationSessionsLe composant sessionEspaces de nomsAuthentificationAdaptateursListes de contrôle d’accèsRessources et rôles des ACLInternationalisationGestion de la localeMultilinguismeGettext/TMXMonnaiesDatesPerformancesCacheAPCGestion de la mémoireCompilationSécuritéValidateursFiltresAttaques cou-rantes et paradesInteropérabilitéRESTSOAPFlux de donnéesAutres com-posantsE-mailsPDFFormulairesOutils et méthodologieZend Studio pour Eclipse (IDE)DébogageProfilageTestsUtilisation avancéeCréer et dériver des composantsIntégrationAnnexesCe qu’est un frameworkRappel sur les bases de donnéesProgrammation orientée objetMotifs de conception (design pat-terns)MVCPHPSubversionPHPUnit.
Architecte certifié PHP et Zend Framework,Julien Pauliest responsable du pôle Zend Frame-work/PHP chez Anaska (groupe Alter Way). Contributeur de la pre-mière heure au framework en colla-boration avec Zend Technologies, conférencier et membre de l’AFUP, il publie des articles sur PHP dans la presse. Fondateur et gérant de la société O p e n S t a t e s( p a r t e n a i r eZ e n d T e c h n o l o g i e se tA n a s k a ) , Guillaume Ponçonintervient depuis plus de sept ans auprès de g r a n d sc o m p t e ss u rd en o m -breuses missions d’expertise, de 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 pratique Java et C/C++. Très im-pliqué dans la communauté PHP, avec la présidence de l’AFUP en 2007-2008 et la création de la Web TV PHPTV, ilest l’auteur de l’ouvrageBest practices PHP 5et coauteur duMémento PHP et SQL aux éditions Eyrolles.
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. PieRRedeGeyeR, G. Ponçon. –Mémento PHP et SQL.N°11785, 2006, 14 pages
Collection « Les cahiers du programmeur » e P. Roques. –UML 2. Modéliser une application web.édition, 2008, 247 pagesN°12389, 6 e A. GoncAlves. –Java EE 5.édition, 2008, 370 pagesN°12363, 2 e. PuybARet.Swing.N°12019, 2007, 500 pages e e. PuybARet. –Java 1.4 et 5.0.N°11916, 3édition, 2006, 400 pages e J. MolièRe. –J2EE. N°11574, 2édition, 2005, 220 pages R.FleuRyJava/XML.N°11316, 2004, 218 pages J. PRotzenko,B. PicAud. –XUL. N°11675, 2005, 320 pages S.MARiel. –PHP 5. N°11234, 2004, 290 pages
Chez le même éditeur e e. dAsPet, c. PieRRedeGeyeR.PHP 5 avancé.N°12369, 5édition, 2008, 844 pages J.M. deFRAnce.– Premières applications Web 2.0 avec Ajax et PHP.N°12090, 2008, 450 pages d. seGuy, P. GAMAche.Sécurité PHP 5 et MySQL. N°12114, 2007, 250 pages e c. PoRteneuveBien développer pour le Web 2.0.Bonnes pratiques Ajax.édition, 2008, 674 pagesN°12391, 2 A. boucheR. –Mémento Ergonomie web. N°12386, 2008, 14 pages V.MessAGeRRotA. –Gestion de projet. Vers les méthodes agiles. N°12165, 2007, 252 pages e H.beRsini, i. Wellesz. –L’orienté objetédition, 2007, 600 pages. N°12084, 3 e P. Roques. –UML 2 par la pratique. N°12322, 6édition, 368 pages e s. boRdAGe. –Conduite de projet Web.édition, 2008, 394 pagesN°12325, 5 k. dJAAFAR. –Développement JEE 5 avec Eclipse Europa. N°12061, 2008, 380 pages J. Dubois, J.P. RetAillé, T. TeMPlieR.– Spring par la pratique.Java/J2EE, Spring, Hibernate, Struts, Ajax. –n°11710, 2006, 518pagest. ziAdé. –Programmation Python.– N°11677, 2006, 530 pages
Collection «Accès libre» Pour que l’informatique soit un outil, pas un ennemi !
Joomla et VirtuemartRéussir sa boutique en ligne. V.isAksen, T.tARdiF. – N°12381, 2008, 270 pages Open ERP– Pour une gestion d’entreprise efficace et intégrée.F. PinckAeRs, G. GARdineR. – N°12261, 2008, 276 pages e Réussir son site web avec XHTML et CSS.M. nebRA.– N°12307, 2édition, 2008, 316 pages Ergonomie web.Pour des sites web efficaces.A. boucheR.– N°12158, 2007, 426 pages e Gimp 2 efficace –Dessin et retouche photo. c. GéMy. – N°12152, 2édition, 2008, 402 pages e La 3D libre avec Blender.o. sARAJA.– N°12385, 3édition, 2008, 400 pages avec CDRom et cahier couleur (À paraître). Scenari – La chaîne éditoriale libre.s. cRozAt.– N°12150, 2007, 200 pages Créer son site ecommerce avec osCommerce.d. MeRceR,adapté pars. buRRiel. –N°11932, 2007, 460 pages e Réussir un site web d’association… avec des outils libres.A.l.etd. quAtRAvAux. – N°12000, 2édition, 2007, 372 pages e Ubuntu efficace..L.dRicotet al.– N°12003, 2édition, 2007, 360 pages avec CDRom e Réussir un projet de site Web.n. chu. –édition, 2008, 230 pagesN°12400, 5
JulienPauli GuillaumePonçon
les Cahiers du Programmeur Zend Framework Bien développer en PHP
Préface de WilSinclair
ÉDITIONS EYROLLES 61, bd SaintGermain 75240 Paris Cedex 05 www.editionseyrolles.com
Dessins d’ouverture des chapitres : © Guillaume Ponçon.
er Le code de la propriété intellectuelle du 1juillet 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
© Groupe Eyrolles, 2008
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 PHP5, 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
VI
tieux, qu’ils soient menés par des amateurs ou par les plus grands comptes. Utilisé partout dans le monde, on le trouve au cœur d’applica tions aux usages aussi divers que le recensement des génocides en Afrique ou l’élevage d’animaux virtuels en ligne. Nous sommes très fiers de constater que de tels projets aient pu voir le jour grâce à cet outil puis sant et polyvalent. Et de fait, nous nous plaisons à croire que l’existence du Zend Framework a joué un rôle dans l’adoption massive de technolo gies open source comme PHP et MySQL pour des sites web à forte charge et des applications professionnelles des plus pointues. Sous l’aile protectrice de Zend Technologies, les développeurs PHP pourront continuer, grâce au Zend Framework, à écrire des applications à la qualité sans cesse améliorée. En outre, nous persisterons dans la remise en question de la plupart des compromis généralement de mise dans la communauté web: puissance ou simplicité, bibliothèque de composants ou framework, qualité ou ouverture, entreprise ou particu lier. Nous sommes convaincus qu’avec cet outil, les développeurs web n’auront plus à faire ces choix difficiles : tout est à leur disposition. Nous espérons que cet ouvrage vous guidera efficacement dans le monde du Zend Framework pour vous mettre sur la voie du développement d’applications de meilleure qualité, plus innovatrices et, surtout, qui vous donneront toute satisfaction. Los Gatos, le 29 octobre 2008
Wil Sinclair, Manager Zend Technologies, chef du projet Zend Framework
© Groupe Eyrolles, 2008
© Groupe Eyrolles, 2008
Avantpropos
Le monde du Web évolue sans cesse. Aujourd’hui, on ne parle plus de site Internet, comme c’était le cas avant l’an 2000, mais bien d’application web. Une application web exploite un ensemble de technologies très diverses. Au début, un webmestre seul pouvait se charger de sa conception, alors qu’aujourd’hui, des dizaines de personnes, aux compétences toujours plus larges et poussées, sont souvent nécessaires pour évoluer vers le « Web 2.0 ». PHP, XML, Services web, SQL et bases de données, Authentification, Cryptage, HTTP, Sécurité, JavaScript, Ajax, XHTML et Standards sont autant de termes relatifs à une ou plusieurs technologies plus ou moins différentes les unes des autres, et qui pourtant interagissent les unes avec les autres. D’ici quelques années, la différence entre une application diteclient lourd, qui s’exécute de manière autonome, et une application diteclient léger, qui nécessite un navigateur web, s’estompera. Les programmes ont de plus en plus tendance à être orientés Web. La difficulté croissante liée à la conception d’applications web a fait naître des solutions et des outils. Le framework en fait partie. Permet tant de cadrer sérieusement les développements en proposant des règles strictes de développement, ainsi que des composants génériques et prêts à l’emploi, Zend Framework est l’un d’entre eux. Zend Framework est ainsi un cadre de travail pour PHP 5, langage dont l’adoption ne cesse de croître en entreprise, pour des projets toujours plus importants et stratégiques.
VIII
Pourquoi cet ouvrage ? C’est l’intérêt croissant pour les frameworks, et en particulier celui de Zend – déjà adopté par de nombreux grand groupes dans le monde, qui a motivé l’écriture de cet ouvrage. À travers cet outil, chacun pourra juger combien PHP est mûr pour le monde de l’entreprise. Exploiter les bonnes pratiques du génie logiciel et les appliquer à PHP a permis de monter l’un des frameworks les plus puissants du marché, qui rend pos sible le développement d’applications web stratégiques et complexes. Pourtant, à l’image exacte de PHP, la maîtrise de cet outil est loin d’être simple, même si sa prise en main ne présente pas de difficulté particu lière. C’est ainsi que Zend Framework dispose d’un examen de certifica tion officiel, piloté par Zend. Cet ouvrage apparaît donc naturellement comme une présentation de Zend Framework et son utilisation, à travers un exemple concret et des détails précis sur de nombreux modules com posant le framework.
À qui s’adresse ce livre ? Cet ouvrage cible avant tout le développeur, mais aussi le chef de projet, l’architecte ou encore le décideur. Le choix d’un framework est lourd de conséquences. Cet cahier aborde donc Zend Framework en largeur dans un premier temps, puis dans le détail de ses principaux composants. Il se révèle également être une ressource complète qui aborde de nombreux prérequis dans ses annexes. Décideurs et chefs de projet: découvrez comment Zend Framework organise et cadre le développement de vos projets, de l’analyse à la conception, en passant par les tests et le déploiement. Développeurs et architectes: apprenez à maîtriser les composants de Zend Framework et voyez comment celuici vous met sur une voie qui vous permettra de travailler en harmonie, grâce à des bonnes pra tiques de programmation telles que les design patterns.
Structure de l’ouvrage
Cet ouvrage se divise en deux grandes parties :  les chapitres sont consacrés à Zend Framework. Une application d’exemple sert de support, exposant un projet concret qui vous suivra tout au long de votre lecture pour illustrer les différents concepts ;
© Groupe Eyrolles, 2008