Les derniers articles
Convention de codage PHP
Préambule
Les règles qui suivent s' appliquent aux classes codées en PHP 5 présentes sur ce site,
néanmoins elles peuvent très bien être utilisées pour tout développement PHP.
Ce document s' adresse autant aux developpeurs, qu' aux utilisateurs.
Il a pour but d' assurer une certaine cohérence dans le codage des classes et de permettre ainsi à tous
de mieux s' y retrouver.
Généralités
Les tags PHP longs devront
toujours être utilisés ( <?php ...?> ).
Les "shorts open tags" ( <? ... ?> ) ainsi que les tags en majuscules ( <?PHP ... ?> ) sont à proscrire.
Chaque fichier , classe, variable ou fonction devra porter un nom le plus explicite
possible, en rapport avec son utilité.
L' underscore ( _ ) ne sera pas utilisé comme première lettre d' une variable, fonction ou méthode.
Cette syntaxe étant souvent utilisée par PHP ( $_POST , __autoload() , __FILE__ , etc ).
Nom des fichiers
Les fichiers inclus porteront l' extension .inc.php, les classes
: class.maclasse.php.
Cette règle est importante, notamment en PHP 5,
pour généraliser l' utilisation du mécanisme de chargement automatique des
classes ( __autoload() ).
Nom des classes, des méthodes, des variables membre et des constantes
Une majuscule sera utilisée comme première lettre, ainsi que pour marquer la séparation de chaque mot. L' underscore ( _ ) sera proscrit.
<?php
class MaClasse {
public $MaVariableMembre = 'cool';
private function MaFonction() {
return $this->MaVariableMembre;
}
}
?>
Les constantes seront en majuscules , un underscore ( _ ) séparera chaque mot.
define('MA_CONSTANTE' , 'truc');
class MaClasse {
const HELLO_WORLD = 'salut';
}
?>
Les fonctions
Le nom des fonctions sera exclusivement en minuscules , un underscore ( _ ) marquera la séparation entre chaque mot. Les fonctions ou méthodes de callback porteront le préfixe cbk_
<?php
function ma_fonction () {
return 'coucou';
}
?>
Indentation du code
Une indentation de 4 espaces sera utilisée.
Commentaires
Chaque fonction, méthode ou variable membre devra être commentée.
Pour les variables membre , une simple description ( @desc ) et le type attendu ( @type ) seront suffisants.
Optionnellement, un ou plusieurs commentaires ( @comment ) pourront être ajoutés.
class MaClasse {
/**
* @desc login de connection
* @type string
**/
public $Login = 'root';
/**
* @desc Port auquel se connecter
* @type integer
* @comment le port 80 est utilisé par défaut
**/
public $Port = 80;
}
?>
Les commentaires des fonctions et méthodes contiendront obligatoirement ces informations :
- @return : Ce que retourne la méthode
- @param : Type attendu - $NomDuParametre - Explication (à répéter autant de fois que la méthode comporte de paramètres)
- @desc : Description de la methode
Optionnellement des précisions ( @comment ) pourront être associées , et également le type de la méthode ( @access ) , si il n' est pas déjà spécifié explicitement lors de la declaration ( public, private, protected ).
<?php
class MaClasse {
/**
* @return -
* @desc Affiche "Hello World"
**/
protected function DsiplayHelloWorld() {
echo 'Hello World';
}
/**
* @return boolean
* @param integer $a Premier chiffre à comparer
* @param integer $b Second chiffre à comparer
* @desc Compare $a et $b. Renvoie true si $a est plus grand que $b, false dans le cas contraire.
**/
public function Compare($a , $b) {
if ($a > $b) {
return true;
} else {
return false;
}
}
}
?>
Gestion des erreurs
Toutes les erreurs seront gérées d'une seule et même manière, en utilisant une classe> spécifique à cet effet. Cette classe n' est pas encore dévelopée définitivement ....
Fabrice Lezoray < fabrice AT scriptsphp.net >
Trackback
Il n'y a pas de trackback recensé pour cet article.
Faire un trackback sur cet article http://classes.scriptsphp.org/Trackbackserver.convention-de-codage, récupérer les trackback sur cet article