Citation:
Portabilité
- toujours utiliser la balise <?php au lieu du simple <?
- inclure des conditions pour détecter si certaines fonctions (tels que les magic_quotes) sont actives, et faire un addslashes ou non en conséquence
Économie de ressources
- bannir le "SELECT *" de ses scripts... même si on prend la totalité des champs, les nommer un par un, ce qui permet de s'y retrouver plus facilement par la suite, mais surtout d'économiser les ressources dans le cas où un nouveau champ (et inutilisé sur la page) serait rajouté
Rapidité d'exécution
- utiliser les simples quotes avec du texte, et toujours concaténer lorsqu'il y a une variable
- pour la concaténation, utiliser les virgules à la place des points (ne fonctionne que avec echo, et pas avec print, ni pour les concaténations entre variables... et il ne faut pas entourer le texte de parenthèses)
- éviter les for... les while avec une indentation a l'intérieur sont sensiblement plus rapides
- éviter l'opérateur ternaire ou les switch... préférez un "if" qui n'est pas forcément plus difficile a comprendre, et qui est sensiblement plus rapide
- si vous voulez rajouter quelque chose a la suite d'une variables, utilisez la syntaxe "$variable .= 'bonjour';" au lieu de "$variable = $variable . 'bonjour';", et même chose pour les indentations : "+=" ou "-="
- éviter les regex... très lourdes... dans la mesure du possible, utilisez un str_replace au lieu d'un preg_replace, et ainsi de suite !
Facilité de relecture
- INDENTER !!!
- donner des noms explicites aux variables
- comme dit plus haut, ne pas utiliser un "SELECT *"
- mettre des commentaires, et préciser au début du fichier sous quelle configuration il a été testé (register globals ? short tags ? magic quotes ? version de php ? version de mysql ?)
Bons réflexes
- faire des benchmarks au niveau de la rapidité d'exécution si vous avez un doute
- si vous avez une tâche longue a faire, demandez vous si créer une interface (plus ou moins automatisée) ne vous faciliterait pas la vie