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; // 7Valeurs 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] startedPassage 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 — changedPoints 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); // 5Disponibilité 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-sensitiveFonctions 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); // 120Dé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); // 42Fonctions 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: 9Vérification rapide
Que renvoie une fonction PHP sans instruction return explicite ?
Récapitulatif : 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
- Définir et appeler des fonctions
- Paramètres par défaut et variadiques
- Portée des variables : locale et globale
- Fonctions anonymes et fermetures