Les fonctions sont un élément fondamental en PHP. Elles permettent d’organiser le code, d’éviter les répétitions et de faciliter la maintenance des applications. Dans cet article, nous allons explorer en détail la définition des fonctions, la portée des variables, ainsi que le passage des paramètres par valeur et par référence. Nous illustrerons chaque concept avec des exemples concrets et utiles.
Une fonction est un bloc de code qui exécute une tâche spécifique et qui peut être réutilisé à plusieurs endroits dans un programme.
function nomDeLaFonction() {
// Code à exécuter
}
<?php
function bonjour() {
echo "Bonjour, bienvenue sur mon site !";
}
// Appel de la fonction
bonjour();
?>
Résultat :
Bonjour, bienvenue sur mon site !
Une fonction peut accepter des paramètres pour effectuer un traitement personnalisé.
<?php
function saluer($prenom) {
echo "Bonjour, $prenom !<br>";
}
saluer("Alice");
saluer("Bob");
?>
Résultat :
Bonjour, Alice !
Bonjour, Bob !
<?php
function additionner($a, $b) {
echo "La somme de $a et $b est " . ($a + $b) . "<br>";
}
additionner(3, 5);
additionner(10, 20);
?>
Résultat :
La somme de 3 et 5 est 8
La somme de 10 et 20 est 30
Une fonction peut retourner une valeur avec return au lieu d'afficher directement un résultat.
return :<?php
function multiplier($x, $y) {
return $x * $y;
}
$resultat = multiplier(4, 3);
echo "Le résultat est : $resultat"; // Affiche 12
?>
Pourquoi utiliser return ?
Cela permet de stocker le résultat dans une variable pour une utilisation ultérieure.
Les variables en PHP ont une portée qui définit où elles peuvent être utilisées.
Une variable déclarée dans une fonction n'est accessible que dans cette fonction.
<?php
function afficherMessage() {
$message = "Ceci est un message local.";
echo $message;
}
afficherMessage();
?>
Les variables définies en dehors d’une fonction ne sont pas accessibles à l’intérieur d’une fonction, sauf si on utilise global.
<?php
$nom = "Alice";
function direBonjour() {
global $nom; // Permet d'accéder à la variable globale
echo "Bonjour, $nom !";
}
direBonjour();
?>
Il est possible d’attribuer une valeur par défaut à un ou plusieurs paramètres.
🔹 Règle importante : Seuls les derniers paramètres peuvent avoir une valeur par défaut.
<?php
function afficherMessage($prenom, $langue = "fr") {
if ($langue == "fr") {
echo "Bonjour, $prenom !<br>";
} elseif ($langue == "en") {
echo "Hello, $prenom !<br>";
} else {
echo "Salut, $prenom !<br>";
}
}
afficherMessage("Alice"); // Utilise le français par défaut
afficherMessage("Bob", "en"); // Utilise l'anglais
afficherMessage("Charlie", "es"); // Affiche "Salut, Charlie !"
?>
Résultat :
Bonjour, Alice !
Hello, Bob !
Salut, Charlie !
➡️ Les valeurs par défaut évitent d’avoir à passer un paramètre systématiquement.