Le standard PEAR
Posté le Thursday 5 May 2011 | Catégories : PHP
Il existe différents standards pour écrire du code PHP. Le plus connu est le standard du projet PEAR. En voici le résumé...
Tags PHP
Le code PHP doit être délimité par les tags longs :
<?php
mon_code();
?>
Indentation
Utiliser 4 espaces pour l'indentation du code, et aucune tabulation.
Structures de contrôle
if (condition1) {
action1;
} elseif ((condition2) && (condition3)) {
action2;
} else {
action3;
}
Placer un espace avant et après les parenthèses contenant la condition. Un condition trop longue peut également être placée sur plusieurs lignes:
if (condition1
OR condition2
AND condition3
) {
actions();
}
La parenthèse qui ferme les conditions doit se trouver sur une nouvelle ligne, et les opérateurs OR (ou ||) et AND (ou &&) doivent se trouver au début de la ligne. Eventuellement, la première condition peut également être alignée avec les suivantes en utilisant des espaces :
if ( condition1
|| condition2
&& condition3
) {
actions();
}
Fonctions
function maFonction($arg1, $arg2 = '')
{
actions();
return $val;
}
Contrairement aux structures de contrôle, l'accolade ouvrante se trouve sur une nouvelle ligne. Comme pour les structures de contrôle, la définition de la fonction peut s'étaler sur plusieurs lignes.
function maFonctionAvecUnLongNom($arg1,
$arg2 = "abcdefghijkl", $arg3 = false,
$arg4 = true
) {
actions();
}
Pour l'appel d'une fonction, on laisse un espace avant et après le signe égal, et après chaque virgule :
$result = maFonctionAvecUnLongNom("abc", "def", true);
L'appel d'une fonction peut également être séparé sur plusieurs lignes.
Classes
Comme pour les fonctions, l'accolade ouvrante se trouve sur une nouvelle ligne.
class Ma_Classe
{
//... code
}
Les tableaux (arrays)
Comme pour les fonctions et les structures de contrôle, la définition d'un tableau peut-être séparée sur plusieurs lignes. De plus, les valeurs peuvent être alignées en utilisant des espaces.
$mon_tableau = array(
'element1' => 'valeur 1',
'el2' => 'valeur 2'
);
Commentaires
Le standard PEAR impose des blocs de commentaires (docblocks) pour tous les fichiers, classes et fonctions. Je trouve cela un peu excessif et je ne les décrirai donc pas.
Les parties complexes du code doivent être commentés en utilisant (/* */) ou (//), mais pas (#).
Nommage
Le nom des variables et des fonctions utilise le "camel caps" : $compteurDeVisites, maDeuxiemeFonction()
Le nom d'une classe doit commencer par une majuscule. S'il existe une hiérarchie, on sépare les différents niveaux pour un underscore : Log, HTML_Upload_Error
Dans une classe, les variables et méthodes privées (private) commencent par un underscore : $_status, _fonctionPrivee()
Les constantes sont toujours écrites en majuscules, avec des underscores pour séparer les mots : DB_NAME
true, false et null s'écrivent toujours en minuscule.