Les règles d'écritures de code sont très inspirées des règles PEAR qui sont assez raisonables
Indentation de 4 espaces, sans tabulations. (vim:set et sw=4 sts=4 ts=4)
Ceci concerne les structures if/elseif/else, for, while, switch, ...
- Il faut utiliser les accolades, même lorsqu'elles sont optionnelles.
- Il faut ajouter un espace entre le mot clef et les parenthèses ouvrantes qui le suivent.
- Les tabulations doivent être proscrites
Indentation
- <?php
- if ((condition1) || (condition2)) {
- action1;
- } elseif ((condition3) && (condition4)) {
- action2;
- } else {
- defaultaction;
- }
- ?>
Structures de Contrôle
- <?php
- switch (condition) {
- case 1:
- action1;
- break;
- case 2:
- action2;
- break;
- default:
- defaultaction;
- break;
- }
- ?>
Les fonctions doivent être appelées :
- avec aucun espace entre le nom de fonction et la parenthès ouvrante qui suit;
- avec des espaces après chaque virgule qui séparent les paramètres;
- sans espace entre le dernier paramètre et le dernier argument, la parenthèse, et le point virgule qui suit.
- en cas d'assignation, il faut ajouter au moins un espace de chaque coté du signe =
- en cas d'assignations par bloc, il est conseillé d'aligner les symboles =
Appels de fonction
- <?php
- // Exemple 1 : assignation simple :
- $var = foo($bar, $baz, $quux);
- // Exemple 2 : assignation par bloc :
- $short = foo($bar, $baz);
- $long_variable = foo($bar, $quux);
- ?>
- Il faut utiliser la convention « one true brace » (passer la première accolade à la ligne).
- Les arguments avec des valeurs par défaut doivent être en dernier dans la liste des arguments.
- Penser à retourner une valeur à chaque fois que cela a du sens, sinon true.
- <?php
- function fooFunction($arg1, $arg2 = '')
- {
- if (condition) {
- statement;
- }
- return $val;
- }
- ?>
Déclaration de fonction
- <?php
- function connect(&$dsn, $persistent = false)
- {
- if (is_array($dsn)) {
- $dsninfo = &$dsn;
- } else {
- $dsninfo = DB::parseDSN($dsn);
- }
- if (!$dsninfo || !$dsninfo['phptype']) {
- return $this->raiseError();
- }
- return true;
- }
- ?>
Commentaires
- Les commentaires par bloc /* ... */ et les commentaires lignes // ... sont OK.
- Les commentaires de type shell/perl # ... sont à proscrire (sauf pour mettre un # TODO/XXX/FIXME).
Inclure du code
- Ne jamais utiliser require ou include mais les fonctions require_once et include_once.
- N'utiliser include_once que dans les cas où tout manque de fichier inclus n'est pas critique.
PHP Tags
- Toujours utiliser les tags longs : <?php ... ?>.
Contenu des fichiers
- Toujours inclure dans les fichiers l'entete GPL.
Chestnut !
Administrateur
Aucun Support par message privé...
Même en cas de pensée suicidaire !
Règles à suivre




