<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>Webaaz &#187; Zend</title> <atom:link href="http://www.webaaz.com/tag/zend/feed/" rel="self" type="application/rss+xml" /><link>http://www.webaaz.com</link> <description>Le développement web de A à Z</description> <lastBuildDate>Thu, 19 Jan 2012 11:40:08 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Bien utiliser Zend Framework</title><link>http://www.webaaz.com/2009/10/bien-utiliser-zend-framework/</link> <comments>http://www.webaaz.com/2009/10/bien-utiliser-zend-framework/#comments</comments> <pubDate>Mon, 26 Oct 2009 18:30:58 +0000</pubDate> <dc:creator>Martin</dc:creator> <category><![CDATA[Développement]]></category> <category><![CDATA[Libre]]></category> <category><![CDATA[Outils]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Apprendre]]></category> <category><![CDATA[Bonnes pratiques]]></category> <category><![CDATA[Développement web]]></category> <category><![CDATA[Framework]]></category> <category><![CDATA[Open source]]></category> <category><![CDATA[PHP5]]></category> <category><![CDATA[Zend]]></category> <guid
isPermaLink="false">http://www.webaaz.com/?p=325</guid> <description><![CDATA[Il existe depuis quelques années de nouveaux outils pour travailler efficacement avec <acronym
title="PHP Hypertext Preprocessor">PHP</acronym>, Ce sont les frameworks, ou cadriciels. Ils apportent un cadre de travail pour mieux architecturer son code, souvent grâce à <acronym
title="Modèle Vue Contrôleur">MVC</acronym>, des bibliothèques pour éviter de réinventer le roue, mais surtout de la documentation et une communauté. On est ainsi bien aidé dans notre développement, mais voyons comment utiliser au mieux un framework PHP et plus particulièrement le Zend Framework, puisqu'il fait partie de ceux que je connais le mieux et que j'utilise le plus. <img
src="/images/2009/10/charpente-metallique.jpg" alt="Outils" width="570" height="250" /> <a
title="Photo de just.Luc depuis Flickr" href="http://www.flickr.com/photos/9619972@N08/2597643556">Photo de just.Luc depuis Flickr</a>]]></description> <content:encoded><![CDATA[<p>Il existe depuis quelques années de nouveaux outils pour travailler efficacement avec <acronym
title="PHP Hypertext Preprocessor">PHP</acronym>, Ce sont les frameworks, ou cadriciels. Ils apportent un cadre de travail pour mieux architecturer son code, souvent grâce à <acronym
title="Modèle Vue Contrôleur">MVC</acronym>, des bibliothèques pour éviter de réinventer le roue, mais surtout de la documentation et une communauté. On est ainsi bien aidé dans notre développement, mais voyons comment utiliser au mieux un framework PHP et plus particulièrement le Zend Framework, puisqu&#8217;il fait partie de ceux que je connais le mieux et que j&#8217;utilise le plus.</p><p><img
src="/images/2009/10/charpente-metallique.jpg" alt="Outils" width="570" height="250" /><br
/> <a
title="Photo de just.Luc depuis Flickr" href="http://www.flickr.com/photos/9619972@N08/2597643556">Photo de just.Luc depuis Flickr</a></p><h2>Présentation</h2><p>Le <a
title="Voir la définition de Zend Framework sur Wikipédia" href="http://fr.wikipedia.org/wiki/Zend_Framework">Zend Framework</a> ou <acronym
title="Zend Framework">ZF</acronym> est en même temps un framework ou cadriciel et une bibliothèque de classes. Il est développé par <a
title="Voir el site de Zend Technologies" href="http://www.zend.com/fr/">Zend Technologies</a> et distribué sous licence New BSD.<br
/> Il est actuellement considéré comme un outsider de <a
title="Voir le site de Symfony" href="http://www.symfony-project.org/">Symfony</a> mais ils sont à mon sens tout à fait concurrents et le choix entre les deux se fera juste sur le feeling que vous aurez avec l&#8217;un ou l&#8217;autre. Pour ma part, je trouve que ZF est plus souple que Symfony et qu&#8217;il correspond mieux à ma vision de PHP, mais c&#8217;est un avis très personnel basé sur mon expérience.</p><p>Pour plus d&#8217;informations sur le Zend Framework, lisez la présentation qu&#8217;en fait la communauté française :</p><ul><li><a
title="Voir la présentation du Zend Framework" href="http://www.z-f.fr/page/quest_ce_que_le_zf">Présentation du ZF</a></li></ul><h2>Documentation</h2><p>La documentation du Zend Framework est bien développée, pas toujours complète sur certains sujets, mais une excellente base avec beaucoup d&#8217;exemples. Elle est traduite dans un grand nombre de langue, mais pas toujours de façon exhaustive. La documentation française n&#8217;est faite qu&#8217;en partie, vous y trouverez donc des passages en anglais. Cependant, cela reste facilement accessible.</p><ul><li><a
title="Voir la documentation du ZF sur le site de Zend" href="http://framework.zend.com/manual/fr/">Documentation française du Zend Framework</a></li></ul><h2>Normes</h2><p>Pour profiter pleinement du framework de Zend il faut en respecter les principes, et notamment les régles d&#8217;écriture du code. Ainsi votre code sera plus lisible, et potentiellement plus facile à partager avec la communauté, ou pour vous faire comprendre sur les forums d&#8217;entraide.</p><ul><li><a
title="Voir les règle d'écriture du code ZF sur le site de Zend" href="http://framework.zend.com/manual/fr/coding-standard.html">Règles d&#8217;écriture du framework</a></li></ul><h2>Bonnes pratiques</h2><p>Pour progresser rapidement dans la compréhension et profiter au maximum des possibilités offertes par le Zend Framework, plusieurs bonnes pratiques s&#8217;imposent !</p><ul><li>Respect des concepts</li><li>Analyse du code, pour comprendre le fonctionnement et les subtilités que la doc n&#8217;explique pas</li><li>Utilisation de Google pour trouver des exemples, beaucoup de blogs font des tutos très intéressants</li><li>Participation active à la communauté francophone par le biais du forum</li></ul><p>En résumé, un framework ne vous apporte pas juste des bouts de codes, mais un cadre de travail standard, des bonnes pratiques, un état d&#8217;esprit en somme. Et c&#8217;est ce tout qui vous permet d&#8217;être efficace.</p><h2>Communautés &#038; Forums</h2><p>Les communautés apportent donc des ressources supplémentaires, tutoriels, exemples de code, forums de discussion, mais demandent aussi de l&#8217;investissement pour ceux qui le souhaitent, alors si vous avez le temps et les capacités n&#8217;hésitez pas à proposer votre aide pour la traduction, la rédaction de cours, ou pour participer au développement même du framework !</p><ul><li><a
title="Voir le site de la communauté anglophone" href="http://framework.zend.com/community/overview">La communauté anglophone</a></li><li><a
title="Voir le site de la communauté francophone" href="http://www.z-f.fr/">La communauté francophone</a></li><li><a
title="Voir le forum de la communauté francophone" href="http://www.z-f.fr/">Le forum de la communauté francophone</a></li><li><a
title="Voir le site de la communauté francophone de developpez.com" href="http://zend-framework.developpez.com/">La communauté francophone de developpez.com</a></li></ul><h2>Tutoriels</h2><p>Google ne suffit pas toujours à trouver son bonheur, voici donc les sources ou je me fournit en tutos.<br
/> L&#8217;idéal pour bien appréhender un sujet, c&#8217;est le tutoriel vidéo, et pour le Zend Framework, un site lui est dédié :</p><ul><li><a
title="Voir les tutoriels vidéo sur Zendcast" href="http://www.zendcasts.com/">Zendcast</a></li></ul><p>developpez.com propose également un tutoriel pour débuter :</p><ul><li><a
href="http://helmi-dridi.developpez.com/tutoriels/zend-framework/debutant/">Tutoriel ZF pour débutant sur developpez.com</a></li></ul><p>Je suis à la recherche d&#8217;autres sites avec des tutoriels de qualité, n&#8217;hésitez pas à m&#8217;indiquer les vôtres en commentaire.</p><h2>Livres</h2><p>Pour bien débuter, il est impératif de connaître PHP5 et la <acronym
title="Programmation Orientée Objet">POO</acronym>, et si possible le principe &laquo;&nbsp;Modèle Vue Contrôleur&nbsp;&raquo;.<br
/> Avec ces pré-requis le livre de Guillaume Ponçon et Julien Pauli devrait vous permettre de rapidement comprendre les principes de base :</p><ul><li><a
title="Voir le livre : Bien développer en PHP" href="http://www.amazon.fr/Zend-Framework-Bien-d%C3%A9velopper-PHP/dp/2212123922">Bien développer en PHP de Guillaume Ponçon et Julien Pauli</a></li></ul><p>Ce livre sera très bon pour les non-initiés, mais je ne vous le conseille pas si vous maîtrisez déjà PHP car il ne rentre pas assez dans le détail des rouages du framework et ré explique des concepts basiques pour le développeur PHP averti.</p><p>Et si vous avez besoin de vous remettre à jour sur PHP, deux articles de ce blog devraient vous permettre d&#8217;y arriver :</p><ul><li><a
title="Voir l'article : Bien développer en PHP" href="http://www.webaaz.com/2009/06/bien-developper-en-php-partie-1/ ">Bien développer en PHP</a></li><li><a
title="Voir l'article : Les bons outils pour PHP" href="http://www.webaaz.com/2009/06/les-bons-outils-pour-php-partie-2/">Les bons outils pour PHP</a></li></ul><h2>En savoir plus&#8230;</h2><p>Pour en savoir plus sur les frameworks PHP, n&#8217;hésitez pas à aller voir le <a
title="Voir le comparatif de frameworks PHP : bestwebframeworks" href="http://www.bestwebframeworks.com/php/">comparatif de frameworks PHP</a>.<br
/><h2>Sur le même thème</h2><ul
class="similar-posts"><li><a
href="http://www.webaaz.com/2010/01/reinventer-la-roue-ou-pas/" rel="bookmark" title="20 janvier 2010">Réinventer la roue, ou pas ?</a></li><li><a
href="http://www.webaaz.com/2009/07/les-plugins-firefox-foxyproxy/" rel="bookmark" title="15 juillet 2009">Les plugins Firefox : FoxyProxy</a></li><li><a
href="http://www.webaaz.com/2009/06/navigateur-web-standard-firefox/" rel="bookmark" title="20 juin 2009">Navigateur Web standard : Firefox</a></li><li><a
href="http://www.webaaz.com/2010/02/les-plugins-firefox-xrefresh/" rel="bookmark" title="18 février 2010">Les plugins Firefox : XRefresh</a></li><li><a
href="http://www.webaaz.com/2009/06/les-bons-outils-pour-php-partie-2/" rel="bookmark" title="6 juin 2009">Les bons outils pour PHP (partie 2)</a></li></ul><p></p><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-enjoy"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Bien+utiliser+Zend+Framework&amp;link=http://www.webaaz.com/2009/10/bien-utiliser-zend-framework/&amp;notes=Il%20existe%20depuis%20quelques%20ann%C3%A9es%20de%20nouveaux%20outils%20pour%20travailler%20efficacement%20avec%20PHP%2C%20Ce%20sont%20les%20frameworks%2C%20ou%20cadriciels.%20Ils%20apportent%20un%20cadre%20de%20travail%20pour%20mieux%20architecturer%20son%20code%2C%20souvent%20gr%C3%A2ce%20%C3%A0%20MVC%2C%20des%20biblioth%C3%A8ques%20pour%20%C3%A9viter%20de%20r%C3%A9inventer%20le%20roue%2C%20mais%20surtout%20de%20la%20documentation%20et%20une%20communaut%C3%A9.%20On%20est%20ainsi%20bien%20aid%C3%A9%20dans%20notre%20d%C3%A9veloppement%2C%20mais%20voyons%20comment%20utiliser%20au%20mieux%20un%20framework%20PHP%20et%20plus%20particuli%C3%A8rement%20le%20Zend%20Framework%2C%20puisqu%27il%20fait%20partie%20de%20ceux%20que%20je%20connais%20le%20mieux%20et%20que%20j%27utilise%20le%20plus.%0D%0A%0D%0A%0D%0APhoto%20de%20just.Luc%20depuis%20Flickr&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-identica"> <a
href="http://www.shareaholic.com/api/share/?title=TITLE&amp;link=PERMALINK&amp;notes=Il%20existe%20depuis%20quelques%20ann%C3%A9es%20de%20nouveaux%20outils%20pour%20travailler%20efficacement%20avec%20PHP%2C%20Ce%20sont%20les%20frameworks%2C%20ou%20cadriciels.%20Ils%20apportent%20un%20cadre%20de%20travail%20pour%20mieux%20architecturer%20son%20code%2C%20souvent%20gr%C3%A2ce%20%C3%A0%20MVC%2C%20des%20biblioth%C3%A8ques%20pour%20%C3%A9viter%20de%20r%C3%A9inventer%20le%20roue%2C%20mais%20surtout%20de%20la%20documentation%20et%20une%20communaut%C3%A9.%20On%20est%20ainsi%20bien%20aid%C3%A9%20dans%20notre%20d%C3%A9veloppement%2C%20mais%20voyons%20comment%20utiliser%20au%20mieux%20un%20framework%20PHP%20et%20plus%20particuli%C3%A8rement%20le%20Zend%20Framework%2C%20puisqu%27il%20fait%20partie%20de%20ceux%20que%20je%20connais%20le%20mieux%20et%20que%20j%27utilise%20le%20plus.%0D%0A%0D%0A%0D%0APhoto%20de%20just.Luc%20depuis%20Flickr&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=205&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post this to Identica">Post this to Identica</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=Bien%20utiliser%20Zend%20Framework&amp;link=http://www.webaaz.com/2009/10/bien-utiliser-zend-framework/&amp;notes=Il%20existe%20depuis%20quelques%20ann%C3%A9es%20de%20nouveaux%20outils%20pour%20travailler%20efficacement%20avec%20PHP%2C%20Ce%20sont%20les%20frameworks%2C%20ou%20cadriciels.%20Ils%20apportent%20un%20cadre%20de%20travail%20pour%20mieux%20architecturer%20son%20code%2C%20souvent%20gr%C3%A2ce%20%C3%A0%20MVC%2C%20des%20biblioth%C3%A8ques%20pour%20%C3%A9viter%20de%20r%C3%A9inventer%20le%20roue%2C%20mais%20surtout%20de%20la%20documentation%20et%20une%20communaut%C3%A9.%20On%20est%20ainsi%20bien%20aid%C3%A9%20dans%20notre%20d%C3%A9veloppement%2C%20mais%20voyons%20comment%20utiliser%20au%20mieux%20un%20framework%20PHP%20et%20plus%20particuli%C3%A8rement%20le%20Zend%20Framework%2C%20puisqu%27il%20fait%20partie%20de%20ceux%20que%20je%20connais%20le%20mieux%20et%20que%20j%27utilise%20le%20plus.%0D%0A%0D%0A%0D%0APhoto%20de%20just.Luc%20depuis%20Flickr&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li><li
class="shr-gmail"> <a
href="http://www.shareaholic.com/api/share/?title=Bien+utiliser+Zend+Framework&amp;link=http://www.webaaz.com/2009/10/bien-utiliser-zend-framework/&amp;notes=Il%20existe%20depuis%20quelques%20ann%C3%A9es%20de%20nouveaux%20outils%20pour%20travailler%20efficacement%20avec%20PHP%2C%20Ce%20sont%20les%20frameworks%2C%20ou%20cadriciels.%20Ils%20apportent%20un%20cadre%20de%20travail%20pour%20mieux%20architecturer%20son%20code%2C%20souvent%20gr%C3%A2ce%20%C3%A0%20MVC%2C%20des%20biblioth%C3%A8ques%20pour%20%C3%A9viter%20de%20r%C3%A9inventer%20le%20roue%2C%20mais%20surtout%20de%20la%20documentation%20et%20une%20communaut%C3%A9.%20On%20est%20ainsi%20bien%20aid%C3%A9%20dans%20notre%20d%C3%A9veloppement%2C%20mais%20voyons%20comment%20utiliser%20au%20mieux%20un%20framework%20PHP%20et%20plus%20particuli%C3%A8rement%20le%20Zend%20Framework%2C%20puisqu%27il%20fait%20partie%20de%20ceux%20que%20je%20connais%20le%20mieux%20et%20que%20j%27utilise%20le%20plus.%0D%0A%0D%0A%0D%0APhoto%20de%20just.Luc%20depuis%20Flickr&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=52&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a></li><li
class="shr-viadeo"> <a
href="http://www.shareaholic.com/api/share/?title=Bien+utiliser+Zend+Framework&amp;link=http://www.webaaz.com/2009/10/bien-utiliser-zend-framework/&amp;notes=Il%20existe%20depuis%20quelques%20ann%C3%A9es%20de%20nouveaux%20outils%20pour%20travailler%20efficacement%20avec%20PHP%2C%20Ce%20sont%20les%20frameworks%2C%20ou%20cadriciels.%20Ils%20apportent%20un%20cadre%20de%20travail%20pour%20mieux%20architecturer%20son%20code%2C%20souvent%20gr%C3%A2ce%20%C3%A0%20MVC%2C%20des%20biblioth%C3%A8ques%20pour%20%C3%A9viter%20de%20r%C3%A9inventer%20le%20roue%2C%20mais%20surtout%20de%20la%20documentation%20et%20une%20communaut%C3%A9.%20On%20est%20ainsi%20bien%20aid%C3%A9%20dans%20notre%20d%C3%A9veloppement%2C%20mais%20voyons%20comment%20utiliser%20au%20mieux%20un%20framework%20PHP%20et%20plus%20particuli%C3%A8rement%20le%20Zend%20Framework%2C%20puisqu%27il%20fait%20partie%20de%20ceux%20que%20je%20connais%20le%20mieux%20et%20que%20j%27utilise%20le%20plus.%0D%0A%0D%0A%0D%0APhoto%20de%20just.Luc%20depuis%20Flickr&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=92&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Viadeo">Share this on Viadeo</a></li><li
class="shr-googlereader"> <a
href="http://www.shareaholic.com/api/share/?title=Bien+utiliser+Zend+Framework&amp;link=http://www.webaaz.com/2009/10/bien-utiliser-zend-framework/&amp;notes=Il%20existe%20depuis%20quelques%20ann%C3%A9es%20de%20nouveaux%20outils%20pour%20travailler%20efficacement%20avec%20PHP%2C%20Ce%20sont%20les%20frameworks%2C%20ou%20cadriciels.%20Ils%20apportent%20un%20cadre%20de%20travail%20pour%20mieux%20architecturer%20son%20code%2C%20souvent%20gr%C3%A2ce%20%C3%A0%20MVC%2C%20des%20biblioth%C3%A8ques%20pour%20%C3%A9viter%20de%20r%C3%A9inventer%20le%20roue%2C%20mais%20surtout%20de%20la%20documentation%20et%20une%20communaut%C3%A9.%20On%20est%20ainsi%20bien%20aid%C3%A9%20dans%20notre%20d%C3%A9veloppement%2C%20mais%20voyons%20comment%20utiliser%20au%20mieux%20un%20framework%20PHP%20et%20plus%20particuli%C3%A8rement%20le%20Zend%20Framework%2C%20puisqu%27il%20fait%20partie%20de%20ceux%20que%20je%20connais%20le%20mieux%20et%20que%20j%27utilise%20le%20plus.%0D%0A%0D%0A%0D%0APhoto%20de%20just.Luc%20depuis%20Flickr&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=207&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a></li><li
class="shr-netvibes"> <a
href="http://www.shareaholic.com/api/share/?title=Bien+utiliser+Zend+Framework&amp;link=http://www.webaaz.com/2009/10/bien-utiliser-zend-framework/&amp;notes=Il%20existe%20depuis%20quelques%20ann%C3%A9es%20de%20nouveaux%20outils%20pour%20travailler%20efficacement%20avec%20PHP%2C%20Ce%20sont%20les%20frameworks%2C%20ou%20cadriciels.%20Ils%20apportent%20un%20cadre%20de%20travail%20pour%20mieux%20architecturer%20son%20code%2C%20souvent%20gr%C3%A2ce%20%C3%A0%20MVC%2C%20des%20biblioth%C3%A8ques%20pour%20%C3%A9viter%20de%20r%C3%A9inventer%20le%20roue%2C%20mais%20surtout%20de%20la%20documentation%20et%20une%20communaut%C3%A9.%20On%20est%20ainsi%20bien%20aid%C3%A9%20dans%20notre%20d%C3%A9veloppement%2C%20mais%20voyons%20comment%20utiliser%20au%20mieux%20un%20framework%20PHP%20et%20plus%20particuli%C3%A8rement%20le%20Zend%20Framework%2C%20puisqu%27il%20fait%20partie%20de%20ceux%20que%20je%20connais%20le%20mieux%20et%20que%20j%27utilise%20le%20plus.%0D%0A%0D%0A%0D%0APhoto%20de%20just.Luc%20depuis%20Flickr&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=195&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Netvibes">Submit this to Netvibes</a></li></ul><div
style="clear: both;"></div></div> ]]></content:encoded> <wfw:commentRss>http://www.webaaz.com/2009/10/bien-utiliser-zend-framework/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Bien développer en PHP (partie 1)</title><link>http://www.webaaz.com/2009/06/bien-developper-en-php-partie-1/</link> <comments>http://www.webaaz.com/2009/06/bien-developper-en-php-partie-1/#comments</comments> <pubDate>Mon, 01 Jun 2009 17:45:53 +0000</pubDate> <dc:creator>Martin</dc:creator> <category><![CDATA[Développement]]></category> <category><![CDATA[Libre]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Apprendre]]></category> <category><![CDATA[Bonnes pratiques]]></category> <category><![CDATA[Développement web]]></category> <category><![CDATA[Framework]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[Open source]]></category> <category><![CDATA[PHP5]]></category> <category><![CDATA[Phpdoc]]></category> <category><![CDATA[Standard]]></category> <category><![CDATA[Zend]]></category> <guid
isPermaLink="false">http://www.webaaz.com/?p=73</guid> <description><![CDATA[PHP étant l'un de mes domaines de prédilection, un article sur le sujet s'impose... Il y en aura même plus d'un tellement le sujet est vaste. Commençons donc par les présentations
<img
src="/images/elephpant.jpg" alt="L'éléphpant d'El Roubio à la plage" /> <a
title="Photo de Skoop depuis Flickr" href="http://www.flickr.com/photos/39639237@N00/2547900338">Photo de Skoop depuis Flickr</a>]]></description> <content:encoded><![CDATA[<p>PHP étant l&#8217;un de mes domaines de prédilection, un article sur le sujet s&#8217;impose&#8230; Il y en aura même plus d&#8217;un tellement le sujet est vaste. Commençons donc par les présentations</p><h2>Présentation</h2><p><acronym
title="PHP Hypertext Preprocessor">PHP</acronym> est un <a
title="Voir la définition de acronymie récursive sur Wikipédia" href="http://fr.wikipedia.org/wiki/Acronymie_r%C3%A9cursive">acronyme récursif</a> qui signifie &laquo;&nbsp;PHP Hypertext Preprocessor&nbsp;&raquo;. C&#8217;est un langage de scripts libre qui permet de générer des pages web de façon dynamique.<br
/> C&#8217;est un langage simple à apprendre, peu typé, il permet beaucoup de souplesse, ainsi il est très simple d&#8217;écrire du code PHP sans tout connaître du langage, mais c&#8217;est aussi une porte ouverte à un code simpliste et peu fiable. Bien utilisé en revanche, il est robuste, fiable et rapide.</p><ul><li><a
title="" href="http://fr.php.net">Le site officiel de PHP</a></li></ul><p>En raison de sa richesse, PHP est plus considéré comme une plate-forme qu&#8217;un simple langage.</p><p>Sa mascotte est un &laquo;&nbsp;éléphpant&nbsp;&raquo; bleu créé par <a
href="http://www.elroubio.net/?p=elephpant">El roubio</a></p><p><img
src="/images/elephpant.jpg" alt="L'éléphpant d'El Roubio à la plage" /><br
/> <a
title="Photo de Skoop depuis Flickr" href="http://www.flickr.com/photos/39639237@N00/2547900338">Photo de Skoop depuis Flickr</a></p><h2>Historique</h2><p>PHP a été créé à partir de 1994 par <a
title="Voir la biographie de Rasmus Lerdorf sur Wikipédia" href="http://fr.wikipedia.org/wiki/Rasmus_Lerdorf">Rasmus Lerdorf</a> qui souhaitait présenter son CV sur Internet. A ce moment là, PHP/FI, signifie &laquo;&nbsp;Personal Home Page / Form Interpreteur&nbsp;&raquo;.<br
/> PHP va se développer à partir de la version 4 et l&#8217;arrivée de <a
title="Voir la biographie de Andi Gutmans sur Wikipédia" href="http://fr.wikipedia.org/wiki/Andi_Gutmans">Andi Gutmans</a> et Zeev Suraski qui vont réécrire le cœur du projet.<br
/> La professionnalisation viendra en 2004 avec la version 5, sobrement appelée PHP5, dont le moteur, Zend Engine en version 2 apporte son lot de nouveautés, parmi lesquelles, le support de la Programmation Orientée Objet.</p><p>PHP est aujourd’hui l’un des fers de lance du monde Open Source, présent sur plus de 30 millions de sites web. Cette philosophie d’excellence par le partage et l’entraide est présente à travers lui. En plus d’une belle idée, on associe un produit qui est fiable, stable, complet et multi plateforme.</p><p>La version 6 est un peu l&#8217;arlésienne de PHP, attendue depuis 2007, elle ne verra probablement pas le jour avant 2010. Elle est très attendue pour son support natif de l&#8217;<a
title="Voir la définition de Unicode sur Wikipédia" href="http://fr.wikipedia.org/wiki/Unicode">unicode</a>, qui oblige à une refonte assez complète de la plupart des fonctions PHP.</p><h2>Zend</h2><p>PHP ne serait pas PHP sans <a
title="Voir l'article sur Zend Technologies sur Wikipédia" href="http://fr.wikipedia.org/wiki/Zend_(informatique)">Zend Technologies</a> et Zend n&#8217;existe que par PHP. Créée en 1999 la société est la base de l&#8217;écosystème PHP, ses ingénieurs participent au développement du langage, mais créent aussi des environnements de développements, de serveurs, des outils de monitoring, ou un encrypteur de code. Ils sont aussi à l&#8217;origine de Zend Framework, un framework MVC doté de multiples bibliothèques.</p><ul><li><a
title="Voir le site officiel français de Zend Technologies" href="http://www.zend.com/fr/">Le site officiel de Zend >Technologies</a></li></ul><h2>Quelle version utiliser ?</h2><p>Sortie depuis 2004 PHP5, apporte le support de la <a
title="Voir la définition de POO sur Wikipédia" href="http://fr.wikipedia.org/wiki/Poo"><acronym
title="Programmation Orientée Objet">POO</acronym></a>, une gestion simplifiée des fichiers <a
title="Voir la définition de XML sur Wikipédia" href="http://fr.wikipedia.org/wiki/Xml"><acronym
title="eXtensible Markup Language">XML</acronym></a>, de la transformation <a
title="Voir la définition de XSL sur Wikipédia" href="http://fr.wikipedia.org/wiki/Extensible_stylesheet_language"><acronym
title="eXtensible Stylesheet Language">XSL</acronym></a> et du <a
title="Voir la définition de DOM sur Wikipédia" href="http://fr.wikipedia.org/wiki/Document_Object_Model"><acronym
title="Document Object Model">DOM</acronym></a>. Suite au retard de la sortie de PHP6, les nouvelles fonctionnalités prévues comme la gestion des espaces de noms ont été intégrées directement dans PHP 5.3</p><p>PHP5 est donc aujourd&#8217;hui incontournable, d&#8217;autant plus que depuis l&#8217;été 2008 PHP n&#8217;est officiellement plus maintenu. La mise à jour des versions mineures ne posant aucun problème de compatibilité, il est fortement conseillé de suivre les nouvelles versions dès qu&#8217;elles sont disponibles afin de corriger les éventuels bugs.</p><h2>Normes &#038; bonnes pratiques</h2><p>Il n&#8217;existe pas à proprement parler de normes, le respect de la syntaxe s&#8217;impose de lui même ! Par contre de bonnes pratiques vous permettront de développer avec plus dé sérénité et de qualité.</p><ul><li>Avoir de la rigueur !</li><li>Indenter le code, utiliser la PHPDoc et écrire de commentaires dans le code</li><li>Encoder vos fichiers source en UTF-8</li><li>Ne pas réinventer le roue, utiliser les bibliothèques !</li><li>Utiliser un framework et respecter l&#8217;architecture <a
title="Voir la définition de MVC sur Wikipédia" href="http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur"><acronym
title="Modèle-Vue-Contrôleur">MVC</acronym></a> pour des projets importants</li></ul><p>A mon sens les trois premiers points sont les plus important, en particulier le premier. D&#8217;après moi,<cite>un bon développeur PHP est avant un développeur Java</cite>. Java ne permet pas la souplesse de PHP mais impose la rigueur. En passant à PHP, le programmeur habitué à la rigueur trouvera les avantages de la souplesse sans se laisser aller à la facilité.</p><p>Une initiative récente est tout de même intéressante à relever. <a
title="Voir le site The PHP standards initiative" href="http://www.leftontheweb.com/message/The_PHP_standards_initiative" lang="en">The PHP standards initiative</a> cherche à promouvoir un standard de développement pour PHP.</p><h2>Comment apprendre ?</h2><p>On trouve sur le sujet des milliers de &laquo;&nbsp;références&nbsp;&raquo; vous proposant d&#8217;apprendre PHP, une bonne partie est obsolète ou ne respecte pas les bonnes pratiques. C&#8217;est une des raisons qui fait que la plupart des sites web développés en PHP aujourd&#8217;hui ont des failles de sécurité. Mais ce n&#8217;est pas une fatalité, et il existe aussi d&#8217;excellents sites pour appréhender le langage.</p><p>Ma référence principale est la documentation officielle qui est vraiment bien faite et très complète. On y revient sans cesse et on y trouve très souvent les réponses que l&#8217;on cherche.</p><ul><li><a
title="Voir le manuel PHP" href="http://www.php.net/manual/fr/">Le manuel PHP</a></li><li><a
title="Voir le guide des fonctions PHP" href="http://fr.php.net/manual/fr/funcref.php">Le guide des fonctions PHP</a></li></ul><p>Vous trouverez également de l&#8217;aide sur les sites suivants :</p><ul><li><a
title="Voir le site apprendre PHP" href="http://www.apprendre-php.com">Apprendre PHP</a></li><li><a
title="Voir le site PHP Débutant" href="http://www.phpdebutant.org/">PHP Débutant</a></li><li><a
title="Voir le site Scripts PHP" href="http://classes.scriptsphp.org">Scripts PHP</a></li></ul><p>Apprendre PHP est un site assez récent, mais qui propose des tutoriels très complets et un forum intérressant. Scriptsphp n&#8217;est plus du tout mis à jour, mais les quelques <abbr
title="tutoriels">tutos</abbr> présents sur le site sont de bonne qualité.</p><h2>Bibliographie</h2><p>Comme pour toute technique l&#8217;apprentissage est facilité par la lecture d&#8217;une &laquo;&nbsp;bible&nbsp;&raquo; de référence, pour PHP j&#8217;en ai trois :</p><ul><li><a
title="Voir le livre PHP5 avancé" href="http://www.eyrolles.com/Informatique/Livre/php-5-avance-9782212123692?xd=53d617e5a68246497cf9d96f489877ed">PHP 5 avancé d&#8217;Eric Daspet et Cyril Pierre de Geyer</a></li><li><a
title="Voir le livre Sécurité PHP 5 et MySQL" href="http://www.eyrolles.com/Informatique/Livre/securite-php-5-et-mysql-9782212121148">Sécurité PHP 5 et MySQL de Damien Seguy et Philippe Gamache</a></li><li><a
title="Voir le livre Best Practices PHP 5" href="http://www.eyrolles.com/Informatique/Livre/best-practices-php-5-9782212116762">Best practices PHP 5 de Guillaume Ponçon</a></li></ul><p>Le premier en est à sa cinquième édition, et traite de tous les sujets de façon avancée mais abordable. Le second est très axé sur la sécurité et sera un bon complément pour développer des applications sensibles. Le dernier reprends PHP de façon plus globale afin de vous montrer toutes les facettes du développement d&#8217;un projet PHP dans les meilleurs conditions possibles. Il est réservé à l&#8217;utilisateur averti qui veux progresser dans les bonnes pratiques.</p><p>Et pour avoir toujours sous la main les références de base :</p><ul><li><a
title="Voir le mémento PHP 5 &#038; SQL" href="http://www.eyrolles.com/Informatique/Livre/memento-php-5-et-sql-9782212124576">Mémento PHP5 &#038; SQL de Cyril Pierre de Geyer et Guillaume Ponçon</a></li></ul><p>Les curieux pourront lire les quelques livres sortis sur PHP6 mais mieux vaux attendre la sortie de cette nouvelle mouture avant d&#8217;investir.</p><h2>Références en vrac</h2><ul><li><a
title="Voir la FAQ du site PHP Index" href="http://www.phpindex.com/index.php/faq">PHP Index, une <acronym
title="Foire Aux Questions">FAQ</acronym> d&#8217;une grande richesse</a></li><li><a
title="Voir le site PHP Classes" href="http://www.phpclasses.org/" lang="en">PHP Classes, des centaines de classes très utiles</a></li></ul><h2>Flux RSS en vrac</h2><p>Pour vous tenir informé de l&#8217;actualité de PHP, voici quelques flux pour votre agrégateur :</p><ul><li><a
title="Lire le flux RSS de Nexen" href="http://www.nexen.net/feeds/actualite.rss">Nexen : Toute l&#8217;information sur PHP</a></li><li><a
title="Lire le flux RSS de PHP.net" href="http://fr.php.net/feed.atom">PHP.net</a></li><li><a
title="Lire le flux RSS de Procata" href="http://www.procata.com/blog/feed/" lang="en">Professional PHP</a></li><li><a
title="Lire le flux RSS de dur comme faire" href="http://flux.jmfontaine.net/jmfontaine-billets">Dur comme faire : Revue de presse hebdomadaire</a></li></ul><p>Et pour les plus curieux :</p><ul><li><a
title="Lire le flux RSS de blog de Zeev Suraski" href="http://www.suraski.net/blog/index.php?/feeds/index.rss2" lang="en" class="broken_link">Le blog de Zeev Suraski</a></li><li><a
title="Lire le flux RSS du blog de Andrei Zmevski" href="http://feeds.feedburner.com/gravitonic-rss2" lang="en">Le blog de Andrei Zmevski</a></li><li><a
title="Lire le flux RSS du blog d'Andi Gutmans" href="http://feeds.feedburner.com/AndiOnWebIt" lang="en">Le blog d&#8217;Andi Gutmans</a></li><li><a
title="Lire le flux RSS du blog d'Ilia Alshanetsky" href="http://ilia.ws/feeds/index.rss2" lang="en">Le blog d&#8217;Ilia Alshanetsky</a></li></ul><p>Et pour vraiment tout connaître sur PHP, se tenir informé, n&#8217;oubliez pas de passer par le Forum PHP tout les ans à Paris. Vous pourrez y rencontrer les principaux acteurs de PHP et MySQL et assister à leurs conférences. C&#8217;est un événement organisé par l&#8217;<a
title="Voir le site de L'AFUP" href="http://www.afup.org/pages/site/"><acronym
title="Association Française des Utilisateurs de PHP">AFUP</acronym></a>.</p><p>Comme en 2008, je serais présent au forum PHP 2009. Si vous y passez aussi, dites le moi !</p><p>La seconde partie de cet article traite des <a
title="Lire l'article sur les outils pour bien d&Atilde;&copy;velopper avec PHP" href="http://www.webaaz.com/2009/06/les-bons-outils-pour-php-partie-2/">outils pour bien développer avec PHP</a></p><h2>Sur le même thème</h2><ul
class="similar-posts"><li><a
href="http://www.webaaz.com/2009/10/bien-utiliser-zend-framework/" rel="bookmark" title="26 octobre 2009">Bien utiliser Zend Framework</a></li><li><a
href="http://www.webaaz.com/2009/06/les-bons-outils-pour-php-partie-2/" rel="bookmark" title="6 juin 2009">Les bons outils pour PHP (partie 2)</a></li><li><a
href="http://www.webaaz.com/2009/04/bien-ecrire-html-xhtml/" rel="bookmark" title="16 avril 2009">Bien écrire HTML &amp; XHTML</a></li><li><a
href="http://www.webaaz.com/2010/02/veille-technologique-web-partie-2/" rel="bookmark" title="1 février 2010">Veille techno Web de F à Z (partie 2)</a></li><li><a
href="http://www.webaaz.com/2009/08/aide-memoire-antiseche-les-cheat-sheets-2/" rel="bookmark" title="1 août 2009">Aide mémoire &amp; antisèche : Les cheat sheets</a></li></ul><p></p><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-enjoy"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=Bien+d%C3%A9velopper+en+PHP+%28partie+1%29&amp;link=http://www.webaaz.com/2009/06/bien-developper-en-php-partie-1/&amp;notes=PHP%20%C3%A9tant%20l%27un%20de%20mes%20domaines%20de%20pr%C3%A9dilection%2C%20un%20article%20sur%20le%20sujet%20s%27impose...%20Il%20y%20en%20aura%20m%C3%AAme%20plus%20d%27un%20tellement%20le%20sujet%20est%20vaste.%20Commen%C3%A7ons%20donc%20par%20les%20pr%C3%A9sentations%0D%0A%0D%0APhoto%20de%20Skoop%20depuis%20Flickr&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-identica"> <a
href="http://www.shareaholic.com/api/share/?title=TITLE&amp;link=PERMALINK&amp;notes=PHP%20%C3%A9tant%20l%27un%20de%20mes%20domaines%20de%20pr%C3%A9dilection%2C%20un%20article%20sur%20le%20sujet%20s%27impose...%20Il%20y%20en%20aura%20m%C3%AAme%20plus%20d%27un%20tellement%20le%20sujet%20est%20vaste.%20Commen%C3%A7ons%20donc%20par%20les%20pr%C3%A9sentations%0D%0A%0D%0APhoto%20de%20Skoop%20depuis%20Flickr&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=205&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post this to Identica">Post this to Identica</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=Bien%20d%C3%A9velopper%20en%20PHP%20%28partie%201%29&amp;link=http://www.webaaz.com/2009/06/bien-developper-en-php-partie-1/&amp;notes=PHP%20%C3%A9tant%20l%27un%20de%20mes%20domaines%20de%20pr%C3%A9dilection%2C%20un%20article%20sur%20le%20sujet%20s%27impose...%20Il%20y%20en%20aura%20m%C3%AAme%20plus%20d%27un%20tellement%20le%20sujet%20est%20vaste.%20Commen%C3%A7ons%20donc%20par%20les%20pr%C3%A9sentations%0D%0A%0D%0APhoto%20de%20Skoop%20depuis%20Flickr&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li><li
class="shr-gmail"> <a
href="http://www.shareaholic.com/api/share/?title=Bien+d%C3%A9velopper+en+PHP+%28partie+1%29&amp;link=http://www.webaaz.com/2009/06/bien-developper-en-php-partie-1/&amp;notes=PHP%20%C3%A9tant%20l%27un%20de%20mes%20domaines%20de%20pr%C3%A9dilection%2C%20un%20article%20sur%20le%20sujet%20s%27impose...%20Il%20y%20en%20aura%20m%C3%AAme%20plus%20d%27un%20tellement%20le%20sujet%20est%20vaste.%20Commen%C3%A7ons%20donc%20par%20les%20pr%C3%A9sentations%0D%0A%0D%0APhoto%20de%20Skoop%20depuis%20Flickr&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=52&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a></li><li
class="shr-viadeo"> <a
href="http://www.shareaholic.com/api/share/?title=Bien+d%C3%A9velopper+en+PHP+%28partie+1%29&amp;link=http://www.webaaz.com/2009/06/bien-developper-en-php-partie-1/&amp;notes=PHP%20%C3%A9tant%20l%27un%20de%20mes%20domaines%20de%20pr%C3%A9dilection%2C%20un%20article%20sur%20le%20sujet%20s%27impose...%20Il%20y%20en%20aura%20m%C3%AAme%20plus%20d%27un%20tellement%20le%20sujet%20est%20vaste.%20Commen%C3%A7ons%20donc%20par%20les%20pr%C3%A9sentations%0D%0A%0D%0APhoto%20de%20Skoop%20depuis%20Flickr&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=92&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Viadeo">Share this on Viadeo</a></li><li
class="shr-googlereader"> <a
href="http://www.shareaholic.com/api/share/?title=Bien+d%C3%A9velopper+en+PHP+%28partie+1%29&amp;link=http://www.webaaz.com/2009/06/bien-developper-en-php-partie-1/&amp;notes=PHP%20%C3%A9tant%20l%27un%20de%20mes%20domaines%20de%20pr%C3%A9dilection%2C%20un%20article%20sur%20le%20sujet%20s%27impose...%20Il%20y%20en%20aura%20m%C3%AAme%20plus%20d%27un%20tellement%20le%20sujet%20est%20vaste.%20Commen%C3%A7ons%20donc%20par%20les%20pr%C3%A9sentations%0D%0A%0D%0APhoto%20de%20Skoop%20depuis%20Flickr&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=207&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a></li><li
class="shr-netvibes"> <a
href="http://www.shareaholic.com/api/share/?title=Bien+d%C3%A9velopper+en+PHP+%28partie+1%29&amp;link=http://www.webaaz.com/2009/06/bien-developper-en-php-partie-1/&amp;notes=PHP%20%C3%A9tant%20l%27un%20de%20mes%20domaines%20de%20pr%C3%A9dilection%2C%20un%20article%20sur%20le%20sujet%20s%27impose...%20Il%20y%20en%20aura%20m%C3%AAme%20plus%20d%27un%20tellement%20le%20sujet%20est%20vaste.%20Commen%C3%A7ons%20donc%20par%20les%20pr%C3%A9sentations%0D%0A%0D%0APhoto%20de%20Skoop%20depuis%20Flickr&amp;short_link=&amp;shortener=none&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=195&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Netvibes">Submit this to Netvibes</a></li></ul><div
style="clear: both;"></div></div> ]]></content:encoded> <wfw:commentRss>http://www.webaaz.com/2009/06/bien-developper-en-php-partie-1/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
