0Pricing
PHP Academy · Leçon

Définir et appeler des fonctions

Créez vos propres fonctions avec des paramètres et des valeurs de retour.

Définir et appeler des fonctions est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage PHP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PHP Academy comprend 4 leçons au total.

Pourquoi utiliser des fonctions ?

Les fonctions permettent de regrouper une logique réutilisable et de lui donner un nom afin de pouvoir l'appeler plusieurs fois sans répéter le code. Avantages :

  • Éviter les répétitions (principe DRY)
  • Faciliter les tests et le débogage
  • Rendre le code explicite par lui-même

Définir une fonction

Utilisez le mot-clé function, un nom, des paramètres facultatifs et un bloc :

<?php
function greet(string $name): string {
    return 'Hello, ' . $name . '!';
}

echo greet('Alice'); // Hello, Alice!

Paramètres et arguments

Les paramètres sont les noms de variables dans la définition ; les arguments sont les valeurs réelles transmises lors de l'appel :

<?php
function add(int $a, int $b): int {
    return $a + $b;  // $a and $b are parameters
}

$sum = add(3, 4);  // 3 and 4 are arguments
echo $sum;  // 7

Valeurs de retour

Utilisez return pour renvoyer une valeur à l'appelant. Une fonction sans instruction return renvoie NULL :

<?php
function square(float $n): float {
    return $n * $n;
}

function logMessage(string $msg): void {
    echo '[LOG] ' . $msg . PHP_EOL;
    // void functions must not return a value
}

echo square(4);        // 16
logMessage('started'); // [LOG] started

Passage par valeur ou par référence

Par défaut, PHP transmet les arguments par valeur (une copie). Préfixez-les avec & pour les transmettre par référence :

<?php
function doubleByValue(int $n): void {
    $n *= 2;  // changes only the local copy
}

function doubleByRef(int &$n): void {
    $n *= 2;  // changes the original
}

$x = 5;
doubleByValue($x);
echo $x; // 5 — unchanged

doubleByRef($x);
echo $x; // 10 — changed

Points de retour multiples

Une fonction peut contenir plusieurs instructions return pour effectuer des sorties anticipées :

<?php
function divide(float $a, float $b): ?float {
    if ($b === 0.0) {
        return null;  // early return on error
    }
    return $a / $b;
}

var_dump(divide(10, 0));   // NULL
echo divide(10, 2);         // 5

Disponibilité des fonctions

Les fonctions PHP sont disponibles dans tout le fichier, quel que soit l'endroit où elles sont définies — contrairement à JavaScript, la plupart des fonctions PHP n'ont PAS besoin d'être déclarées avant leur utilisation :

<?php
echo double(5);  // 10 — works even though double is defined below

function double(int $n): int {
    return $n * 2;
}

// Exception: functions inside conditionals ARE position-sensitive

Fonctions récursives

Une fonction qui s'appelle elle-même est récursive. Prévoyez toujours un cas de base pour éviter une récursion infinie :

<?php
function factorial(int $n): int {
    if ($n <= 1) return 1;  // base case
    return $n * factorial($n - 1);  // recursive call
}

echo factorial(5);  // 120

Déclarations de types

PHP 7 et les versions ultérieures prennent en charge les indications de type pour les paramètres et les valeurs de retour. PHP 8 a ajouté mixed, never et les types d'intersection :

<?php
declare(strict_types=1);

function clamp(int $value, int $min, int $max): int {
    return max($min, min($max, $value));
}

echo clamp(150, 0, 100);  // 100
echo clamp(-5,  0, 100);  // 0
echo clamp(42,  0, 100);  // 42

Fonctions nommées ou intégrées

PHP est fourni avec des milliers de fonctions intégrées. Vous pouvez toujours vérifier à l'exécution si une fonction existe :

<?php
if (function_exists('mb_strlen')) {
    echo mb_strlen('こんにちは');  // 5 — correct multi-byte length
} else {
    echo strlen('こんにちは');      // 15 — byte count, wrong for UTF-8
}

Renvoyer plusieurs valeurs

Renvoyez plusieurs valeurs en renvoyant un tableau, puis en le déstructurant à l'endroit de l'appel :

<?php
function minMax(array $arr): array {
    return [min($arr), max($arr)];
}

[$min, $max] = minMax([3, 1, 7, 2, 9]);
echo "Min: $min, Max: $max";  // Min: 1, Max: 9

Vérification rapide

Que renvoie une fonction PHP sans instruction return explicite ?

Récapitulatif&nbsp;: fonctions

Les fondamentaux des fonctions PHP :

  • Définissez-les avec function name(params): returnType
  • Transmettez les arguments par valeur (par défaut) ou par référence avec &
  • Les fonctions sans return renvoient NULL
  • La récursion nécessite un cas de base
  • Les fonctions sont disponibles dans tout le fichier (remontée des déclarations)

Ensuite : les paramètres par défaut et variadiques.

Questions Fréquemment Posées

La leçon « Définir et appeler des fonctions » est-elle gratuite ?

Oui — le texte complet de « Définir et appeler des fonctions » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours PHP Academy, passe à CoddyKit PRO. Le cours PHP Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Définir et appeler des fonctions » ?

Créez vos propres fonctions avec des paramètres et des valeurs de retour. Tu pratiques PHP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer PHP Academy ?

Aucune expérience préalable n'est requise. PHP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Définir et appeler des fonctions » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon PHP Academy ?

Oui. Chaque leçon PHP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Définir et appeler des fonctions
  2. Paramètres par défaut et variadiques
  3. Portée des variables : locale et globale
  4. Fonctions anonymes et fermetures
← Retour à PHP Academy