PHP - Norme de codage

Bonjour, futurs développeurs PHP ! Je suis ravi de vous guider à travers le monde fascinant des normes de codage PHP. En tant que quelqu'un qui enseigne la programmation depuis des années, je peux vous assurer que maîtriser ces normes rendra votre code plus propre, plus lisible et plus professionnel. C'est parti !

PHP - Coding Standard

Indentation et Longueur de ligne

Une indentation correcte est comme de bonnes manières dans le codage - elle rend tout plus agréable et plus facile à comprendre. En PHP, nous utilisons généralement 4 espaces pour chaque niveau d'indentation. Voici un exemple :

<?php
if ($condition) {
echo "Cette ligne est indentée";
if ($another_condition) {
echo "Cette ligne est encore plus indentée";
}
}

Dans cet exemple, la première instruction echo est indentée une fois (4 espaces), et la seconde echo est indentée deux fois (8 espaces). Cette hiérarchie visuelle nous aide à comprendre rapidement la structure du code.

En ce qui concerne la longueur des lignes, essayez de garder vos lignes en dessous de 80 caractères. Si une ligne devient trop longue, cassez-la en plusieurs lignes comme ceci :

$very_long_variable_name = $another_long_variable_name
+ $yet_another_long_variable_name
+ $one_more_long_variable_name;

Structures de contrôle

Les structures de contrôle sont les briques de construction de la logique de votre programme. En PHP, les plus courantes sont if, else, elseif, while, for, et switch. Voici comment les formater correctement :

if ($condition1) {
// code ici
} elseif ($condition2) {
// plus de code ici
} else {
// encore plus de code ici
}

while ($condition) {
// code à répéter
}

for ($i = 0; $i < 10; $i++) {
// code à répéter
}

switch ($variable) {
case 1:
// code pour le cas 1
break;
case 2:
// code pour le cas 2
break;
default:
// code par défaut
break;
}

Notez comment chaque bloc de code est entouré d'accolades {} et correctement indenté.

Appels de fonctions

Lors de l'appel de fonctions, il ne devrait pas y avoir d'espace entre le nom de la fonction et l'accolade ouvrante. Voici la bonne façon de faire :

$result = myFunction($arg1, $arg2);

Si l'appel de fonction est trop long, vous pouvez le briser en plusieurs lignes :

$result = myVeryLongFunctionName(
$arg1,
$arg2,
$arg3,
$arg4
);

Définitions de fonctions

Lors de la définition des fonctions, suivez ce format :

function myFunction($arg1, $arg2 = null)
{
// corps de la fonction
}

Notez que l'accolade ouvrante { est sur une nouvelle ligne. Cela s'appelle le "style Allman" et est commun en PHP.

Commentaires

Les commentaires sont essentiels pour expliquer votre code. Utilisez-les généreusement ! Voici les types de commentaires en PHP :

// C'est un commentaire sur une seule ligne

/*
Ceci est un commentaire sur plusieurs lignes.
Il peut s'étendre sur plusieurs lignes.
*/

/**
* Ceci est un commentaire DocBlock.
* Il est utilisé pour documenter des fonctions, des classes, etc.
*
* @param string $arg1 Description du premier argument
* @return bool Description de ce que la fonction renvoie
*/
function myDocumentedFunction($arg1)
{
// corps de la fonction
}

Balises de code PHP

Lorsque vous écrivez du code PHP, utilisez toujours les balises PHP complètes :

<?php
// Votre code PHP ici
?>

Évitez d'utiliser des balises courtes comme <? car elles ne sont pas toujours activées sur tous les serveurs.

Noms de variables

Les noms de variables doivent être descriptifs et utiliser des lettres minuscules avec des underscores (snake_case) :

$user_name = "John";
$total_items = 5;

Pour les constantes, utilisez des lettres majuscules avec des underscores :

define('MAX_USERS', 100);

Rendre les fonctions réentrantes

Une fonction ré entrante est une fonction qui peut être interrompue au milieu de son exécution et puis appelée à nouveau en toute sécurité. Pour y parvenir, évitez d'utiliser des variables globales ou des variables statiques dans vos fonctions. Voici un exemple :

// Non réentrante
function badCounter()
{
static $count = 0;
return ++$count;
}

// Réentrante
function goodCounter($count)
{
return ++$count;
}

Alignement des blocs de déclaration

Lorsque vous déclarez plusieurs variables, alignez-les pour une meilleure lisibilité :

$short        = 1;
$long_variable = 2;
$longer_variable = 3;

Une instruction par ligne

Pour plus de clarté, mettez une seule instruction par ligne :

$a = 1;
$b = 2;
$c = 3;

Évitez :

$a = 1; $b = 2; $c = 3; // C'est plus difficile à lire

Méthodes ou fonctions courtes

Gardez vos fonctions courtes et centrées sur une tâche unique. En règle générale, si une fonction dépasse 20-30 lignes, envisagez de la diviser en fonctions plus petites.

Voici un tableau résumant certaines des normes de codage PHP que nous avons discutées :

Norme Exemple
Indentation Utiliser 4 espaces
Longueur de ligne Garder sous 80 caractères
Appels de fonctions myFunction($arg1, $arg2);
Définitions de fonctions function myFunction($arg1, $arg2) { ... }
Noms de variables Utiliser snake_case : $user_name
Constantes Utiliser UPPER_CASE : MAX_USERS
Commentaires Utiliser //, /* */, ou /** */
Balises PHP Toujours utiliser <?php ?>

Souvenez-vous, ces normes ne sont pas des règles arbitraires. Ce sont les meilleures pratiques développées au fil des ans par la communauté PHP pour rendre le code plus lisible et plus facile à entretenir. En suivant ces normes, vous ne vous contentez pas d'écrire du code - vous communiquez avec d'autres développeurs qui pourraient travailler sur votre code à l'avenir. Et qui sait ? Ce développeur futur pourrait être vous !

En conclusion, je me souviens d'un étudiant qui m'a dit un jour : "Apprendre les normes de codage, c'est comme apprendre les manières de table. Ça paraît fastidieux au début, mais une fois que vous y êtes habitué, vous vous demandez comment vous avez vécu sans !". Alors, continuez à pratiquer ces normes, et bientôt elles deviendront une seconde nature. Bon codage !

Credits: Image by storyset