Skip to content

Fonctions

Objectifs pédagogiques

  • Comprendre comment définir et appeler une fonction.
  • Distinguer paramètres et arguments.
  • Introduire les notions de portée, de retour de valeur et de typage.

Définir une fonction

Une fonction est un bloc de code réutilisable, défini avec le mot-clé function :

php
function sayHello() {
  echo "Bonjour !";
}

Appel :

php
sayHello(); // Affiche : Bonjour !

Paramètres et arguments

Une fonction peut accepter des paramètres pour être plus flexible :

php
function sayHello($firstName) {
  echo "Bonjour $firstName !";
}

sayHello("Alice"); // Bonjour Alice !
sayHello("Bob");   // Bonjour Bob !

Valeur de retour

Une fonction peut retourner une valeur grâce à return :

php
function sum($a, $b) {
  return $a + $b;
}

$som = sum(2, 3); // $som vaut 5

La valeur de retour peut ensuite être stockée ou affichée.

Typage des fonctions

Depuis PHP 7, il est possible (et recommandé) d’indiquer les types des paramètres et de la valeur de retour.

php
function sum(int $a, int $b): int {
  return $a + $b;
}

Cela permet :

  • de détecter les erreurs plus tôt,
  • de mieux documenter son code,
  • de favoriser la rigueur.

Exemples de types possibles :

  • int
  • float
  • string
  • bool
  • array
  • object
  • mixed (depuis PHP 8)
  • ?int (nullable)

Passage par valeur et par référence

Par défaut, les paramètres sont passés par valeur.
Cela signifie que la fonction travaille sur une copie de la variable.

Pour modifier la variable d’origine, on utilise le passage par référence avec & :

php
function add(&$nombre) {
  $nombre++;
}

$valeur = 10;
add($valeur);
echo $valeur; // 11

Exercice pratique

  1. Créer un fichier fonctions.php
  2. Définir une fonction sayHello() qui affiche "Bonjour !"
  3. Ajouter une fonction greetings($nom) qui affiche "Bonjour Alice !" selon l’argument
  4. Définir une fonction carre($x) qui retourne le carré du nombre
  5. Bonus : Typage strict avec int et float dans les arguments et le retour