Les Principes des Maîtres du PHP

Vendredi 26 juin 2009 à 20:40 par Cody

maitre du PHPPHP est un language facile d’apprentissage et assez flexible (faible typage), ce qui lui a permis de s’imposer comme l’un des languages les plus utilisés sur le Web.

Malheureusement ces qualités peuvent aussi conduire à des dérives d’utilisation et à des pratiques de programmation pas trop recommandables et il m’arrive souvent de me demander, face à un problème, quelle serait la solution la plus propre à adopter.

Pour nous éviter ce genre de dilemme à l’avenir, j’ai décidé de coucher sur un billet quelques règles de bonne conduite inspirées par les Développeurs PHP les plus reconnus.

Je vais commencer par résumer l’excellent article “10 Principles of the PHP Masters” et par la suite enrichir ce billet petit à petit avec d’autres sources :

Utiliser PHP uniquement lorsque c’est nécessaire “Rasmus Lerdorf “

PHP n’est pas un language généraliste.Il a été créé pour résoudre des problème spécifiques au Web et n’est pas forcément adapté à d’autres usages. Le créateur de PHP lui même préconise de le considérer comme un outil parmi tant d’autres et non pas comme une solution universelle.

Utiliser plusieurs tables MySQL avec PHP pour une meilleure architecture (scalabilité)  “Matt Mullenweg”.

En travaillant sur WordPress MU Matt Mullenweg a constaté qu’avoir une table SQL séparée pour les données de chaque Blog offre une architecture flexible et de meilleures performances par rapport à l’utilisation d’une table de stockage unique à tous les Blog.

Ne jamais faire confiance aux utilisateurs “Dave Child”

Vous devez constamment garder à l’esprit qu’une donnée saisie par l’utilisateur peut être un code malveillant (injection SQL, XSS …). Il est donc essentiel de bien valider les données en entrée et en sortie. Une validation coté client (En javascript par exemple) est insuffisante et il faudra toujours prévoir une validation coté serveur (en PHP). Bref soyez un peu paranoiaque :-) .

Investir dans un système de cache PHP “Ben Balbo”

En cas de problèmes de performances il ne faut pas hésiter à mettre en oeuvre une technique de caching PHP mais il ne faut pas aussi négliger le cache coté client. Cet excellent article de Ben Balbo vous mettra sur la bonne voie.

Accélérer le développement PHP grâce à un EDI, des templates et des snippets “Chad Kieffer”

Exploiter les fonctions de filtrage PHP “Joey Sochacki”

Utiliser un Framework PHP “Josh Sharp”

Ne pas utiliser de Framework PHP ?! “Rasmus Lerdorf”

Exploiter des processus batch (ou des Cron/daemon) “Jack D. Herrington”

Activer le rapport des erreurs “David Cummings”

Les couches d’abstration de bases de données sont un mythe “Rasmus Lerdorf “

Il n’y a rien de mal à s’affranchir de ces couches d’abstraction pour travailler directement avec du SQL et ainsi obtenir le maximum d’optimisation.

PS: Ce billet est en chantier,  je le fignole selon mon temps libre.

Tags: , , , ,

Laisser un commentaire