php-experts.org - développement php et internet » développement https://www.php-experts.org Ressources sur le développement internet, PHP/MySQL, Ajax, marketing online, référencement... Sat, 19 Jun 2010 14:23:03 +0000 http://wordpress.org/?v=2.9.2 en hourly 1 Conventions de codage PHP https://www.php-experts.org/developpement-web/conventions-de-codage-3 https://www.php-experts.org/developpement-web/conventions-de-codage-3#comments Mon, 16 Jun 2008 21:24:10 +0000 Didier https://www.php-experts.org/wordpress/?p=3 Ne pas adopter de vraies conventions de codage en PHP, langage de script où la syntaxe est libre et les variables non typées, peut conduire à une jungle de code où vous seul pourrez vous retrouver.

Suivre quelques conventions, même simples, vous aidera à éclaircir votre code en le rendant plus lisible et donc plus facilement maintenable. De plus, si un développeur doit mettre le nez dedans, sa lecture et sa prise en main sera grandement facilitée si vous lui transmettez un document récapitulant vos conventions.

Les points que je présente ici ne sont pas des lois mais simplement les conventions de codage PHP que je m’efforce de suivre; libre à vous d’y piocher vos propres “habitudes”, l’important étant de suivre la voie qu’on s’est fixé.

Configuration PHP

Error_reporting doit être à E_ALL et le code ne doit générer aucune notice ou warning.

Register globals à OFF, on se sert donc de $_POST et $_GET (notamment) pour accéder aux variables globales.

Short open tags à OFF, on sert donc de <?php et ?> pour délimiter les scripts (et pas <? ?>)

Les noms : Fonctions, Variables et Constantes

Les noms de fonction doivent commencer par un verbe. Exemple: getUserLogin()
Les noms de variables sont en minuscule. Les constantes sont toujours écrites en majuscules.

Camel Case

Le “Camel Case” est la pratique qui vise à utiliser une majuscule comme séparateur de mots. Exemple : userLogin.

La Notation Hongroise

La Notation Hongroise est une convention qui vise à “pseudo-typer” les variables, en indiquant leur type dans leur nom. Par exemple, le “tableau de résultats” sera nommé aResults (pour array), le “nombre de pages” sera “nPages”…

Accolades

Que ce soit pour les fonctions, les boucles, ou les instructions conditionnelles, on place, au choix, les accolades en fin de ligne ou au début de la suivante. Par contre, on les met même quand elles sont facultatives. Pas de

  1. if ($i == 0) doMachin();

mais plutot :

  1. if ($i == 0) {
  2.      doMachin();
  3. }

Bonnes habitudes diverses

Quand on boucle sur le contenu d’un tableau, ne pas écrire :

  1. for ($i=0;$i<count($tableau);$i++) {

mais :

  1. $max = count($tableau);
  2. for ($i=0;$i<$max;$i++) {

Cela évite des calculs inutiles (le comptage des éléments du tableau n’est réalisé qu’une fois)

Commentaires

On suivra la norme JavaDoc (sans en faire trop, non plus):

  1. /**
  2. * Ceci est le commentaire d’un élément important du code (fonction, classe…)
  3. * @author : Didier S. «[email protected]»
  4. * @param : $str / string / string à traiter
  5. * @param : $nb / integer / nombre de caractères à retourner
  6. */

Toutes les fonctions et classes devraient être commentées.
(Note: il existe des outils pour générer de la documentation HTML à partir des commentaires du code source, comme phpDocumentator, objet d’un prochain post)

]]>
https://www.php-experts.org/developpement-web/conventions-de-codage-3/feed 2