Kodokon kodokon.com

Fonctions : déclarer, typer, retourner

Créez vos propres fonctions avec des paramètres typés, des valeurs par défaut et des valeurs de retour.

8 min · 3 questions

Ouvrir cette leçon dans Kodokon

Une fonction est un bloc d'instructions auquel on donne un nom, pour le réutiliser autant de fois que nécessaire d'un simple appel. Écrire une fois, utiliser partout : c'est le principe. On la déclare avec le mot-clé function, suivi du nom, de parenthèses et d'un bloc entre accolades. La mention : void après les parenthèses indique que la fonction ne renvoie rien : elle se contente d'agir.

PHP
<?php

function sayHello(): void
{
    echo "Bonjour et bienvenue !<br>";
}

sayHello();
sayHello();
Une déclaration, deux appels, deux affichages.

Les parenthèses accueillent les paramètres : des variables que la fonction reçoit à chaque appel. La valeur concrète fournie lors de l'appel s'appelle un argument. En PHP moderne, on type chaque paramètre (float $price) et la valeur renvoyée (: float après les parenthèses) : PHP refuse alors les valeurs du mauvais type, ce qui évite bien des bugs. L'instruction return renvoie un résultat à l'endroit de l'appel et arrête immédiatement la fonction.

PHP
<?php

function addTax(float $price): float
{
    return $price * 1.2;
}

echo addTax(100);
echo "<br>";
echo addTax(50);
Affiche 120 puis 60 : le résultat revient à l’appelant.

Un paramètre peut recevoir une valeur par défaut avec = : si l'appel ne fournit pas d'argument pour ce paramètre, la valeur par défaut prend le relais. Règle d'or : les paramètres avec défaut se placent après ceux qui sont obligatoires.

PHP
<?php

function greet(
    string $name,
    string $greeting = "Bonjour"
): string {
    return "{$greeting}, {$name} !";
}

echo greet("Awa");
echo "<br>";
echo greet("Awa", "Bonsoir");
Sans deuxième argument, greeting vaut « Bonjour ».
PHP
<?php

function totalPrice(
    float $unitPrice,
    int $quantity = 1
): float {
    return $unitPrice * $quantity;
}

echo totalPrice(19.9, 3);
echo "<br>";
echo totalPrice(8.5);
Récapitulatif : types, défaut et return réunis.

Quiz de validation

Vérifiez que vous avez bien retenu les points clés de cette leçon.

  1. Quel mot-clé déclare une fonction en PHP ?
    • def
    • function
    • func
  2. Que fait l'instruction return ?
    • Elle affiche une valeur à l'écran
    • Elle renvoie une valeur et arrête la fonction
    • Elle relance la fonction depuis le début
  3. Avec function greet(string $name, string $greeting = "Bonjour"), que vaut $greeting si on appelle greet("Awa") ?
    • Une chaîne vide
    • null
    • La valeur par défaut « Bonjour »