Langage PHP

Les fonctions en PHP

Une fonction est une série d'instructions qui effectue des actions et qui retourne une valeur. En général, dès que vous avez besoin d'effectuer des opérations un peu longues dont vous aurez à nouveau besoin plus tard, il est conseillé de vérifier s'il n'existe pas déjà une fonction qui fait cela pour vous. Et si la fonction n'existe pas, vous avez la possibilité de la créer.

Appeler une fonction

En PHP, comment appelle-t-on une fonction ? Par son nom, Par exemple :

<?php
calculCub(4);
?>

La fonction calculCube est une fonction imaginaire : elle n'existe pas (à moins qu'on la crée nous-mêmes). Par conséquent, n'essayez pas d'exécuter ce code PHP chez vous car il ne fonctionnera pas. Lisez simplement pour bien comprendre le fonctionnement, vous aurez ensuite l'occasion de pratiquer plus loin dans ce chapitre.

Certaines fonctions peuvent fonctionner sans paramètres, mais elles sont assez rares. Dans le cas de calculCube, ça n'a pas de sens de l'appeler sans lui donner la longueur de l'arête du cube pour faire le calcul !

Si on veut lui envoyer un paramètre (un nombre, une chaîne de caractères, un booléen...), il faut l'écrire le paramètre entre les parenthèses :

Ainsi, calculCube saura qu'elle doit travailler avec le nombre 4.

Souvent, les fonctions acceptent plusieurs paramètres. Vous devez dans ce cas les séparer par des virgules :

<?php
fonctionImaginaire(10,'Vert',true,41.7);
?>

Cette fonction recevra quatre paramètres : 17, le texte « Vert », le booléen vrai et le nombre 41,7.

Récupérer la valeur de retour de la fonction

Maintenant que nous savons appeler une fonction et même lui envoyer plusieurs paramètres, il faut récupérer ce qu'elle nous retourne si toutefois elle retourne quelque chose. Il y a en effet deux types de fonctions :

  • celles qui ne retournent aucune valeur (ça ne les empêche pas d'effectuer des actions) ;
  • celles qui retournent une valeur.

Si la fonction ne retourne aucune valeur, il n'y a rien de plus à faire que dans les codes précédents. La fonction est appelée, fait son travail, et on ne lui demande rien de plus.

En revanche, si la fonction retourne une valeur (comme ça devrait être le cas pour calculCube), on la récupère dans une variable, comme ceci :

<?php
$volume=calculCub(4);
?>

Sur une ligne comme celle-ci, il se passe en fait les deux choses suivantes (dans l'ordre, et de droite à gauche) :

  • la fonction calculCube est appelée avec le paramètre 4 ;
  • le résultat renvoyé par la fonction (lorsqu'elle a terminé) est stocké dans la variable $volume.
  • La variable $volume aura donc pour valeur 64 après l'exécution de cette ligne de code !

Bon à savoir : comme on l'a vu, il est possible d'envoyer en entrée plusieurs paramètres à une fonction ; en revanche cette dernière ne peut retourner qu'une seule valeur. Il existe un moyen de contourner cette limitation en combinant des variables au sein d'un tableau de variables (appelé array) dont on parlera dans les prochains chapitres.

Créer ses propres fonctions

Bien que PHP propose des centaines et des centaines de fonctions, parfois il n'y aura pas ce que vous cherchez et il faudra écrire vous-mêmes la fonction. C'est une façon pratique d'étendre les possibilités offertes par PHP.

Quand écrire une fonction ? En général, si vous effectuez des opérations un peu complexes que vous pensez avoir besoin de refaire régulièrement, il est conseillé de créer une fonction.

Nous allons découvrir la création de fonctions à travers deux exemples :

  • l'affichage d'un message de bienvenue en fonction du nom ;
  • le calcul du volume d'un cône.

=>Premier exemple : dis bonjour au Monsieur.

C'est peut-être un peu fatigant de dire bonjour à chacun de ses visiteurs, non ? Ça serait bien de le faire automatiquement… Les fonctions sont justement là pour nous aider !

Regardez le code ci-dessous :

<?php
$nom='Barkia Hassan';
echo 'Bonjour, '.$nom.' !<br /> ';
$nom='Boulahnin Khaled';
echo 'Bonjour, '.$nom.' !<br /> ';
$nom='Sharapova Maria';
echo 'Bonjour, '.$nom.' !<br /> ';
?>

Vous voyez, c'est un peu fatigant à la longue… Alors nous allons créer une fonction qui le fait à notre place !

<?php
function DireBonjour($nom){
   echo 'Bonjour '.$nom.' !<br />';
}

DireBonjour('Barkia Hassan');
DireBonjour('Boulahnin Khaled');
DireBonjour('Sharapova Maria');
?>

Alors qu'y a-t-il de différent ici ? C'est surtout en haut qu'il y a une nouveauté : c'est la fonction. En fait, les lignes en haut permettent de définir la fonction (son nom, ce qu'elle est capable de faire, etc.). Elles ne font rien de particulier, mais elles disent à PHP : « Une fonction DireBonjour existe maintenant ».

=>Deuxième exemple : calculCube.

La fonction DireBonjour que l'on a créée ne renvoyait aucune valeur, elle se contentait d'effectuer des actions (afficher un texte, dans le cas présent). Maintenant, nous allons créer une fonction qui renvoie une valeur.

Retournant a notre exemple de calculCube, le code de la fonction peut être comme le code suivant :

<?php

function calculCube($nombre){
   $val=$nombre*$nombre*$nombre;
   return $val;
}

echo 'le cube du nombre 4 est :'.calculCube(4);
?>

Regardez bien la fonction, il y a l'instruction : return $val; Cette instruction indique ce que doit renvoyer la fonction. Ici, elle renvoie la valeur de cube. Si vous aviez tapé return 15, ça aurait à chaque fois affiché un volume de 15.

Les possibilités de création de fonctions sont quasi-infinies. Il est clair que normalement, vous n'allez pas avoir à créer de fonction qui calcule le cube d'un nombre, tout ce que je vous demande ici, c'est de comprendre qu'une fonction peut se révéler très pratique et vous faire gagner du temps.

Partager ce cours avec tes amis :
Rédigé par Mostafa Sedoki
Professeur d'Informatique dans les CPGE

Cours Similaires :