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 5La 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 :
intfloatstringboolarrayobjectmixed(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; // 11Exercice pratique
- Créer un fichier
fonctions.php - Définir une fonction
sayHello()qui affiche "Bonjour !" - Ajouter une fonction
greetings($nom)qui affiche "Bonjour Alice !" selon l’argument - Définir une fonction
carre($x)qui retourne le carré du nombre - Bonus : Typage strict avec
intetfloatdans les arguments et le retour