Les Fonctions en PHP

Introduction aux Fonctions

Les fonctions représentent des blocs de code que l'on peut appeler à plusieurs reprises dans notre code. Elles ne s'exécutent pas lors de leur définition, mais lorsqu'une autre partie du code les invoque.

Syntaxe des Fonctions Utilisateur

La syntaxe pour définir une fonction en PHP est à peu près similaire à celle d'autres langages de programmation :

function nomDeLaFonction(paramètres) {  // code à exécuter  }
  • nomDeLaFonction : C'est le nom attribué à la fonction. Il doit commencer par une lettre ou un underscore et ne doit contenir que des caractères alphanumériques ou des underscores.
  • paramètres : Ce sont des variables optionnelles, séparées par des virgules, qui sont transmises au bloc de code lors de l'appel de la fonction.
  • code à exécuter : C'est le code qui s'exécute lorsque la fonction est appelée.

Un Exemple de Fonction

Voici un exemple d'une fonction qui détermine si un nombre est pair ou impair :

'; // Affichage : Impair
echo pairOuImpair(20) . '
'; // Affichage : Pair ?>

Le Mot-Clé return

Le mot-clé return met fin à l'exécution de la fonction et renvoie une valeur optionnelle. Si ce mot-clé est omis, la fonction retourne une valeur nulle.

Passage de Paramètres par Référence

Par défaut, les paramètres sont transmis par valeur aux fonctions PHP. Cela implique que lorsque l'on passe une variable à une fonction, sa valeur est copiée, et toute modification dans la fonction n'affecte pas la variable d'origine. Cependant, si vous souhaitez que les modifications au sein de la fonction impactent la variable d'origine, vous pouvez passer le paramètre par référence en ajoutant & devant le nom du paramètre dans la définition de la fonction.

Valeur par Défaut des Paramètres

Il est possible de définir des valeurs par défaut pour les paramètres d'une fonction qui ne sont pas spécifiés lors de l'appel. La syntaxe est la suivante :

'; // Affichage : 5
echo valeurParDefaut(125) . '
'; // Affichage : 125 echo valeurParDefaut() . '
'; // Affichage : 10 ?>

Déclarations de Type

PHP est un langage faiblement typé, ce qui signifie qu'il n'est pas nécessaire de spécifier les types lors de l'affectation de valeurs. PHP gère la conversion des types automatiquement. Toutefois, avec PHP 7, on peut déclarer explicitement le type attendu pour les paramètres d'une fonction.

';
}
specifyTypes(2, 3);
specifyTypes(2, 3.5);
specifyTypes(2, "3.8");
specifyTypes(2, "3 pommes");  // Tous affichent 2*3=6
?>

Mode Strict

Pour activer un comportement strict, on peut déclarer le mode strict, ce qui génère une erreur si un type inapproprié est passé à une fonction. Cela se fait en ajoutant declare(strict_types=1); en première ligne du fichier PHP.

';
}
specifyTypes(2, 3); // Affiche 2*3=6
specifyTypes(2, 3.5); // Génère une erreur
specifyTypes(2, "3.8"); // Génère une erreur
specifyTypes(2, "3 pommes"); // Génère une erreur
?>

Déclaration de Type de Retour

Depuis PHP 7, il est également possible de déclarer le type de données que la fonction retournera. En mode strict, une erreur est affichée si le type de retour ne correspond pas à celui attendu.