Logo classes.scriptsphp.org PHP

go to nav bar

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.

<?php
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.

<?php
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

Merci de ne pas suivre ce lien emails.

0.0642s | «»
PHP powered