10 conseils pour bien commencer en PHP
Posté par $Francois pro qui était d'humeur Passionné
Il y a des centaines (littéralement) de langages qui existent. Cet article n'est pas un encouragement pour vous d'utiliser PHP. Peut-être un autre langage est-il plus adéquat pour ce que vous voulez faire.
Mais à un moment il faut faire un choix et beaucoup d'entre vous choississent le PHP pour sa réputation.
Cette réputation il l'a doit à sa facilité d'emploi, son usage très répandu et l'abondance de projets écrit en PHP.
Mais malgré cette facilité du langage, il y a des pièges. Tentons de les déjouer en résumant les 10 grands principes que j'applique depuis que je programme en PHP.
1. Ne réinventez pas la roue
Une des richesses est justement les nombreuses librairies existantes. Avant de vous attaquer à un problème prenez le temps de faire l'inventaire des solutions déjà existantes que vous pourrez réutiliser. Il peut s'agir d'un projet complet ou bien de libraries spécifiques. Il y a souvent des années d'expérience dans ces librairies et cette stabilité est un grand plus pour un projet.
Vous pouvez trouver des librairies sur:
2. Utilisez un framework
Enormément de code entre deux projets Web est en fait le même: gestion des sessions utilisateurs, système de templates, accès à la base de donnée.
Pour éviter de tout réinventer à chaque fois ou pire, de copier/coller des tonnes de code entre vos projets, utilisez un des nombreux "frameworks" PHP. Ces frameworks sont un ensemble de librairies bien intégrées qui vous permettent de commencer à vous intéresser au coeur de votre problème immédiatement. C'est également un code qui a testé de mainte fois et qui sera donc quasiment sans bugs, un gain de temps appréciable pour se consacrer à l'essentiel.
Quelques frameworks qui sont en vogue...
- http://www.symfony-project.com
- http://www.cakephp.org
- http://www.codeigniter.com
- http://www.xisc.com (Prado)
- http://framework.zend.com
Oubliez directement PHP4. Utilisez PHP5 qui permet la programmation objet et vous permet donc de découper votre code en classes bien claires et nettes.
Utilisez un couplage léger entre vos classes. Elles doivent pouvoir vivre par elle-même et s'interfacer facilement avec d'autres classes. Vous apprécierez d'avoir travaillé comme cela quand vous les reprendrez de projet en projet.
Travaillez avec des design patterns qui sont des canvas répondant à toute une série de problème simple de facon normalisée (ne réinventez pas la roue)
- http://www.dailymotion.com/video/xourm_designpatterns
- http://fr.wikipedia.org/wiki/Motif_de_conception
N'essayez pas de résoudre maintenant des problèmes complexes que vous n'avez pas encore. Ne passez pas votre temps à faire un site très compliqué qui peut encaisser des milliers de visiteurs simultanés alors que vous n'êtes même pas sur que votre idée de départ sera un succès. Réalisez rapidement une ébauche de toutes les fonctionnalités et testez l'ensemble.
Revenez régulièrement sur votre code et améliorez le petit bloc par petit bloc. Le deboggage en est plus facile et cela vous évite également de passer beaucoup sur une approche qui va se révéler une voie sans issue et demander d'effacer des blocs entiers de code.
5. Pensez sécurité
Agile mais avec sécurité. Dès le départ réfléchissez comment une personne malveillante pourra mettre à mal votre code. Validez les entrées. Mettez-vous à la place d'un hacker potentiel et tentez d'effectuer des opérations illégales sur votre site. Si vous ne le faites pas dès le départ, vous oublierez ou vous n'aurez pas le temps de le faire avant de mettre en ligne votre projet.
6. Gérez vos erreurs
Les problèmes de sécurité découlent souvent d'un code qui ne gère pas suffisament ou correctement les conditions d'erreur. PHP5 apporte un outil formidable pour çà qui change de tous les if() else () habituel: Les exceptions. Si vous ne connaissez pas le concept, étudiez les dès le départ.
7. Demandez conseil dans le doute
Vous êtes coincé ? Demandez conseil dans les innombrables forums PHP. Prenez l'avis des experts et des développeurs expérimentés. PHP c'est une communauté vivante et très active. Rien que le manuel regorge d'exemples et d'astuces.
8. Optimisez ce qui doit l'être uniquement
Avant de changer votre code pour l'optimiser, essayez les accélérateurs de code tel que APC ou Zend Optimizer. Il apporte une amélioration très significative sans avoir à changer votre code.
Ensuite, n'optimisez pas à l'aveugle. Déterminez précisement les parties de votre code qui sont les plus lentes. Il serait dommage que vous passiez des heures à optimiser des morceaux de code qui ne sont au final qu'utilisé très peu. Il y a plusieurs approches, soit en effectuant des benchmarks vous-même soit avec des outils spécialisés tel que XDebug.
9. Utilisez des outils appropriés
Gagnez du temps en utilisant un éditeur qui vous indique directement les fautes de frappe et de syntaxe. Un éditeur qui en plus vous propose de compléter votre code ou vous suggère les paramètres des fonctions est un plus appréciable.
Dès le début intéressez-vous à Subversion pour historiser votre code même si vous travaillez seul. La faculté de revenir en arrière après être arrivé dans une impasse vous fais gagner du temps et vous aide à garder le moral. Elle vous permet également de mieux comprendre les derniers changements effectués en cherchant à corriger un bug.
10. Des cas concrets
Pour apprendre efficacement, travaillez toujours sur de vrais projets même s'ils n'ont pas une grande importante. Seul les vrais projets vont vous poser les vrais problèmes et vous aider à réaliser du code qui a du sens.
Inspirez-vous des guides mais toujours tentez de les écrire à votre sauce. Les copier/coller uniquement ne vous apportera pas grand'chose.
Bon PHP à tous !


2 commentaires à cet article.
Merci.
Intéressant :)
Je n'avais plus vu la conférence sur les Design Patterns depuis quelques mois, merci!