Les Fonctions en PHP
Introduction aux Fonctions
Les fonctions représentent des blocs de code que l'on peut appeler à plusieurs reprises dans notre code. Elles ne s'exécutent pas lors de leur définition, mais lorsqu'une autre partie du code les invoque.
Syntaxe des Fonctions Utilisateur
La syntaxe pour définir une fonction en PHP est à peu près similaire à celle d'autres langages de programmation :
function nomDeLaFonction(paramètres) { // code à exécuter }
- nomDeLaFonction : C'est le nom attribué à la fonction. Il doit commencer par une lettre ou un underscore et ne doit contenir que des caractères alphanumériques ou des underscores.
- paramètres : Ce sont des variables optionnelles, séparées par des virgules, qui sont transmises au bloc de code lors de l'appel de la fonction.
- code à exécuter : C'est le code qui s'exécute lorsque la fonction est appelée.
Un Exemple de Fonction
Voici un exemple d'une fonction qui détermine si un nombre est pair ou impair :
'; // Affichage : Impair
echo pairOuImpair(20) . '
'; // Affichage : Pair
?>
Le Mot-Clé return
Le mot-clé return
met fin à l'exécution de la fonction et renvoie une valeur optionnelle. Si ce mot-clé est omis, la fonction retourne une valeur nulle.
Passage de Paramètres par Référence
Par défaut, les paramètres sont transmis par valeur aux fonctions PHP. Cela implique que lorsque l'on passe une variable à une fonction, sa valeur est copiée, et toute modification dans la fonction n'affecte pas la variable d'origine. Cependant, si vous souhaitez que les modifications au sein de la fonction impactent la variable d'origine, vous pouvez passer le paramètre par référence en ajoutant &
devant le nom du paramètre dans la définition de la fonction.
Valeur par Défaut des Paramètres
Il est possible de définir des valeurs par défaut pour les paramètres d'une fonction qui ne sont pas spécifiés lors de l'appel. La syntaxe est la suivante :
'; // Affichage : 5
echo valeurParDefaut(125) . '
'; // Affichage : 125
echo valeurParDefaut() . '
'; // Affichage : 10
?>
Déclarations de Type
PHP est un langage faiblement typé, ce qui signifie qu'il n'est pas nécessaire de spécifier les types lors de l'affectation de valeurs. PHP gère la conversion des types automatiquement. Toutefois, avec PHP 7, on peut déclarer explicitement le type attendu pour les paramètres d'une fonction.
';
}
specifyTypes(2, 3);
specifyTypes(2, 3.5);
specifyTypes(2, "3.8");
specifyTypes(2, "3 pommes"); // Tous affichent 2*3=6
?>
Mode Strict
Pour activer un comportement strict, on peut déclarer le mode strict, ce qui génère une erreur si un type inapproprié est passé à une fonction. Cela se fait en ajoutant declare(strict_types=1);
en première ligne du fichier PHP.
';
}
specifyTypes(2, 3); // Affiche 2*3=6
specifyTypes(2, 3.5); // Génère une erreur
specifyTypes(2, "3.8"); // Génère une erreur
specifyTypes(2, "3 pommes"); // Génère une erreur
?>
Déclaration de Type de Retour
Depuis PHP 7, il est également possible de déclarer le type de données que la fonction retournera. En mode strict, une erreur est affichée si le type de retour ne correspond pas à celui attendu.