Les fonctions

Les fonctions en PHP

Une fonction est un bloc de code PHP destiné généralement à être réutilisé plusieurs fois. Plutôt que d'écrire plusieurs fois le même morceau de code, on met celui-ci dans une fonction, et c'est cette fonction que l'on appellera dès que l'on en aura besoin.

En PHP, il y a déjà des fonctions prédéfinies que l'on peut utiliser immédiatement. Pour autant, rien ne nous empêche d'en créer d'autres selon nos besoins. Et plus encore, on peut se servir des fonctions PHP pour créer nos propres fonctions.

Exemple de fonctions PHP prédéfinies

<?php
// Pour connaître la version de PHP utilisé on écrit :
echo phpversion();
?>

 

Création d'une fonction en PHP

Définition de la fonction

Lors de la définition d'une fonction, on utilise en premier le mot clé 'function'. Il est obligatoire de le mettre pour dire que le bloc traité par PHP est une fonction. Ensuite, on met le nom de la fonction.

Une fonction peut ne pas retourner une valeur. Dans ce cas, on parle généralement de procédure. C'est juste pour structurer le code et pour alléger le code en évitant les répétitions. Exemple de procédure affichant "bonjour le monde !":

<?php

function hello()
 {
  echo "Bonjour tout le monde !";
 }

hello(); //appelle la fonction "hello" qui va afficher "Bonjour tout le monde !" (sans les guillemets)
?>

 

Pour afficher Bonjour le monde ! n'importe où dans le code, il n'y aura plus qu'à taper ceci :

hello();

Mais la plus grande utilité des fonctions vient du fait qu'elles peuvent retourner une valeur. On peut se servir d'une fonction pour manipuler des variables. Au départ, on leur introduit des valeurs qu'on appelle les arguments de la fonction.

Le bloc de fonction est donc devenu comme une sorte de machine dans laquelle on manipule les paramètres. Après manipulation, la machine (en l'occurrence la fonction) retourne une valeur. Toutes les manipulations se déroulent à l'intérieur du bloc de fonction.

Nous venons de voir l'exemple d'une procédure qui ne contenait aucun paramètre. Une fonction peut avoir un ou plusieurs paramètres. Ces paramètres sont généralement des variables et peuvent être de types différents. Après avoir écrit le nom de la fonction, on énonce tous les paramètres entre les deux parenthèses.

En cas de plusieurs paramètres il faut les séparer par des virgules.

Voici un exemple de fonction simple qui calcule la division de 2 nombres. On met les deux nombres en paramètres. Le nombre retourné par la fonction est donc le résultat de la division des deux nombres. Le mot clé 'return' permet de retourner le résultat.

<?php

function division($nombre1, $nombre2)
{
  $resultat=$nombre1/$nombre2;
  return $resultat;

}

?>

 

Comment appeler une fonction PHP avec paramètres ?

Pour appeler une fonction, il suffit de l'appeler par son nom et de spécifier les valeurs des paramètres.

Si nous voulons par exemple appeler la fonction division :

<?php

function division($nombre1, $nombre2)
{
  $resultat=$nombre1/$nombre2;
  return $resultat ;
}

$valeur=division(100,50);
echo $valeur;
//ou encore
$numerateur=100;
$denominateur=50;
$quotien= division($numerateur, $denominateur);

echo $quotien;

?>

 

Remarquez bien qu'il y a un ordre dans la disposition des paramètres dans la définition de la fonction. Si l'on intervertit les paramètres, il y a de fortes chances que l'on n'ait pas le résultat attendu.

Autrement dit, division(100, 50); ne donnera évidemment pas le même résultat que division(50,100);

Valeurs par défaut des paramètres d'une fonction

Nous pouvons également assigner des valeurs par défaut aux paramètres.

Exemple

<?php

function division ($nombre1 = 10, $nombre2 = 2)
{
  $resultat=$nombre1/$nombre2;
  return $resultat ;
}
echo division();

?>

 

Ici, nous assignons comme valeurs par défaut les nombres 10 et 2. Si nous ne spécifions pas les valeurs des paramètres lors de l'appel de la fonction, nous obtiendrons 5 comme résultat.

Lorsque l'on met des valeurs par défaut, les deux paramètres ne sont pas obligatoires lors de l'appel de la fonction. Dans nos exemples, on a toujours fait l'appel de la fonction juste en bas de la définition de la fonction. Tout se passe donc dans le même fichier.

Mais lorsqu'on a plusieurs fonctions, et qu'on veut utiliser les mêmes fonctions dans différents fichiers, il devient fastidieux de répéter les définitions des fonctions en haut de chaque fichier. PHP nous offre la possibilité de créer une sorte de bibliothèque de fonctions et de les inclure tout simplement au début de chaque fichier.

C'est ce que nous allons voir dans le chapitre suivant.

A propos de l'auteur

Nicolas Galle

Nicolas Galle est développeur web sénior pour l'agence SEO Aseox.