Conventions générales :
- Utilisez des tabulations pour toute l'indentation du code. Configurez votre éditeur pour stocker les tabulations en tant que caractères de tabulation, et non des espaces. N'utilisez pas une multitude d'espaces pour l'indentation.
- Les nouveaux fichiers dans SVN / Git doivent utiliser l'encodage UTF-8 (sans BOM).
- Fins de ligne de style Unix : LF
- Les noms de fichiers inclus dans toutes les URL directement accessibles doivent être en minuscules ; si un nom est composé de plusieurs mots, reliez-les avec des traits de soulignement.
- Largeur de ligne : 120 caractères
Normes de code
Exemples
<?php // Doit commencer par <?php
// xxx@example.com Chaque fichier doit spécifier l'e-mail du propriétaire
require_once('conf/config.inc.php'); // require_once doit avoir des parenthèses, et il ne doit pas y avoir d'espace avant la parenthèse ouvrante
class CodingStandard { // Ajoutez un espace avant les accolades. Les noms de classe commencent par une lettre majuscule ; plusieurs mots commencent chacun par une lettre majuscule
private $attribute; // Les commentaires de propriété s'écrivent directement après la propriété
// Format de tableau
public $color = array(
'1' => 'red', // Indenter une fois avec une tabulation
'2' => 'blue',
'3' => 'yellow',
'4' => array(
'1' => 'green', // Après alignement avec les colonnes du tableau ci-dessus, indenter une fois de plus avec une tabulation
'2' => 'gray'
) // La fin du tableau s'aligne avec le tout début de la variable déclarée
); // La fin du tableau s'aligne avec l'endroit où la variable de tableau est déclarée
public $number = array(1, 2, 3, 4); // Pour les tableaux simples, ils peuvent être placés sur une seule ligne
// Les commentaires de méthode utilisent le double slash et doivent être rédigés sur une seule ligne si possible
function foo($i, $list) { // 1. Il n'y a pas d'espace avant la parenthèse ( après le nom de la fonction 2. Pour plusieurs paramètres, s'il y a une virgule, il doit y avoir un espace après elle
for ($j = 0; $j < $i; $j++) { // Ajouter un espace après for
echo "This is no.{$j}, content is {$list[$j]}"; // Les instructions echo n'utilisent pas de parenthèses.
// Le choix d'utiliser des guillemets simples ou doubles dans les instructions echo dépend de la situation réelle
echo '<table border="0" cellspacing="5" cellpadding="5">';
}
if ($i > 0) { // 1. Ajouter un espace après if 2. Les opérateurs doivent avoir des espaces des deux côtés
return $i % 2; // Les opérateurs ont des espaces des deux côtés
} else { // else doit aussi avoir des espaces des deux côtés
return null;
}
if ($j == $i) return 1; // Si un if ne contient qu'une seule instruction courte, il est recommandé de l'écrire sur une seule ligne ; si vous le répartissez sur plusieurs lignes, il est recommandé d'ajouter des parenthèses.
$count = count($_SERVER); // Écrire l'affectation à l'extérieur
if ($count > 10) echo 'pass'; // Dans if, effectuer uniquement un jugement booléen ; ne pas écrire d'instructions d'affectation
}
public static function testFunction() { // Le nommage des méthodes statiques et non statiques suit tous deux le principe camelCase
}
}
$s = new CodingStandard(); // Lors de la création d'un objet avec new, des parenthèses doivent être ajoutées
$s->foo(10, $s->color); // Il ne doit y avoir aucun espace à l'intérieur des parenthèses après une fonction. Si une fonction a plus d'un paramètre, il doit y avoir un espace après chaque virgule
CodingStandard::testFunction(); // Les appels de code statiques n'ont qu'une seule manière : l'appel par double deux-points
// Les fichiers PHP doivent se terminer par ?>, et assurez-vous qu'il n'y a pas d'espaces ni de lignes vides après.
?>
// xxx@example.com Chaque fichier doit spécifier l'e-mail du propriétaire
require_once('conf/config.inc.php'); // require_once doit avoir des parenthèses, et il ne doit pas y avoir d'espace avant la parenthèse ouvrante
class CodingStandard { // Ajoutez un espace avant les accolades. Les noms de classe commencent par une lettre majuscule ; plusieurs mots commencent chacun par une lettre majuscule
private $attribute; // Les commentaires de propriété s'écrivent directement après la propriété
// Format de tableau
public $color = array(
'1' => 'red', // Indenter une fois avec une tabulation
'2' => 'blue',
'3' => 'yellow',
'4' => array(
'1' => 'green', // Après alignement avec les colonnes du tableau ci-dessus, indenter une fois de plus avec une tabulation
'2' => 'gray'
) // La fin du tableau s'aligne avec le tout début de la variable déclarée
); // La fin du tableau s'aligne avec l'endroit où la variable de tableau est déclarée
public $number = array(1, 2, 3, 4); // Pour les tableaux simples, ils peuvent être placés sur une seule ligne
// Les commentaires de méthode utilisent le double slash et doivent être rédigés sur une seule ligne si possible
function foo($i, $list) { // 1. Il n'y a pas d'espace avant la parenthèse ( après le nom de la fonction 2. Pour plusieurs paramètres, s'il y a une virgule, il doit y avoir un espace après elle
for ($j = 0; $j < $i; $j++) { // Ajouter un espace après for
echo "This is no.{$j}, content is {$list[$j]}"; // Les instructions echo n'utilisent pas de parenthèses.
// Le choix d'utiliser des guillemets simples ou doubles dans les instructions echo dépend de la situation réelle
echo '<table border="0" cellspacing="5" cellpadding="5">';
}
if ($i > 0) { // 1. Ajouter un espace après if 2. Les opérateurs doivent avoir des espaces des deux côtés
return $i % 2; // Les opérateurs ont des espaces des deux côtés
} else { // else doit aussi avoir des espaces des deux côtés
return null;
}
if ($j == $i) return 1; // Si un if ne contient qu'une seule instruction courte, il est recommandé de l'écrire sur une seule ligne ; si vous le répartissez sur plusieurs lignes, il est recommandé d'ajouter des parenthèses.
$count = count($_SERVER); // Écrire l'affectation à l'extérieur
if ($count > 10) echo 'pass'; // Dans if, effectuer uniquement un jugement booléen ; ne pas écrire d'instructions d'affectation
}
public static function testFunction() { // Le nommage des méthodes statiques et non statiques suit tous deux le principe camelCase
}
}
$s = new CodingStandard(); // Lors de la création d'un objet avec new, des parenthèses doivent être ajoutées
$s->foo(10, $s->color); // Il ne doit y avoir aucun espace à l'intérieur des parenthèses après une fonction. Si une fonction a plus d'un paramètre, il doit y avoir un espace après chaque virgule
CodingStandard::testFunction(); // Les appels de code statiques n'ont qu'une seule manière : l'appel par double deux-points
// Les fichiers PHP doivent se terminer par ?>, et assurez-vous qu'il n'y a pas d'espaces ni de lignes vides après.
?>