Chapitre 9 : Les fonctions en PHP

Maîtrisez les fonctions en PHP avec ce chapitre complet et détaillé pour organiser et réutiliser votre code efficacement.

1. Définir une fonction

On utilise le mot-clé function suivi du nom de la fonction et de parenthèses.

<?php
function direBonjour() {
  echo "Bonjour tout le monde !";
}

// Appel de la fonction
direBonjour();
?>

2. Fonctions avec paramètres

On peut passer des informations à la fonction via des paramètres.

<?php
function saluer($prenom) {
  echo "Bonjour, $prenom !";
}

saluer("Alice");
saluer("Bob");
?>

3. Valeurs par défaut

On peut attribuer une valeur par défaut à un paramètre.

<?php
function saluer($prenom = "visiteur") {
  echo "Bonjour, $prenom !<br>";
}

saluer(); // Bonjour, visiteur !
saluer("Chloé"); // Bonjour, Chloé !
?>

4. Fonctions avec retour de valeur

Une fonction peut renvoyer une valeur grâce au mot-clé return.

<?php
function addition($a, $b) {
  return $a + $b;
}

$resultat = addition(5, 3);
echo "Le résultat est : $resultat";
?>

5. Types de retour (PHP 7+)

Il est possible d'indiquer le type de valeur retournée.

<?php
function multiplication(int $a, int $b): int {
  return $a * $b;
}

echo multiplication(4, 5); // 20
?>
Note : PHP est flexible, mais l'utilisation des types améliore la clarté et évite certaines erreurs.

6. Portée des variables

Les variables déclarées à l'intérieur d'une fonction ne sont pas accessibles en dehors de celle-ci.

<?php
function test() {
  $message = "Ceci est interne";
  echo $message;
}

test();
// echo $message; // Erreur : variable inconnue ici
?>

Variable globale

Pour accéder à une variable déclarée en dehors d'une fonction, on peut utiliser le mot-clé global.

<?php
$nom = "Jean";

function afficherNom() {
  global $nom;
  echo "Nom : $nom";
}

afficherNom();
?>

7. À retenir

  • Les fonctions permettent d'organiser et réutiliser le code
  • On peut définir des paramètres avec ou sans valeurs par défaut
  • Les fonctions peuvent retourner des valeurs avec return
  • Les types de paramètres et de retour peuvent être spécifiés (à partir de PHP 7)
  • Les variables ont une portée locale dans les fonctions, sauf si on utilise global