PHP - Fonctions

Les fonctions PHP sont similaires aux autres langages de programmation. Une fonction est un morceau de code qui prend une autre entrée sous forme de paramètre et effectue un certain traitement et renvoie une valeur.

Vous avez déjà vu de nombreuses fonctions comme fopen() et fread() etc. Ce sont des fonctions intégrées mais PHP vous donne également la possibilité de créer vos propres fonctions.

Il y a deux parties qui devraient être claires pour vous -

  • Créer une fonction PHP
  • Appel d'une fonction PHP

En fait, vous n'avez guère besoin de créer votre propre fonction PHP car il existe déjà plus de 1000 fonctions de bibliothèque intégrées créées pour différents domaines et il vous suffit de les appeler en fonction de vos besoins.

Veuillez vous référer à PHP Function Reference pour un ensemble complet de fonctions utiles.

Créer une fonction PHP

Il est très facile de créer votre propre fonction PHP. Supposons que vous souhaitiez créer une fonction PHP qui écrira simplement un message simple sur votre navigateur lorsque vous l'appellerez. L'exemple suivant crée une fonction appelée writeMessage (), puis l'appelle juste après sa création.

Notez que lors de la création d'une fonction, son nom doit commencer par le mot-clé function et tout le code PHP doit être mis entre accolades {et} comme indiqué dans l'exemple suivant ci-dessous -

<html>
   
   <head>
      <title>Writing PHP Function</title>
   </head>
   
   <body>
      
      <?php
         /* Defining a PHP Function */
         function writeMessage() {
            echo "You are really a nice person, Have a nice time!";
         }
         
         /* Calling a PHP Function */
         writeMessage();
      ?>
      
   </body>
</html>

Cela affichera le résultat suivant -

You are really a nice person, Have a nice time!

Fonctions PHP avec paramètres

PHP vous donne la possibilité de passer vos paramètres dans une fonction. Vous pouvez transmettre autant de paramètres que vous le souhaitez. Ces paramètres fonctionnent comme des variables à l'intérieur de votre fonction. L'exemple suivant prend deux paramètres entiers et les ajoute ensemble, puis les imprime.

<html>
   
   <head>
      <title>Writing PHP Function with Parameters</title>
   </head>
   
   <body>
   
      <?php
         function addFunction($num1, $num2) {
            $sum = $num1 + $num2;
            echo "Sum of the two numbers is : $sum";
         }
         
         addFunction(10, 20);
      ?>
      
   </body>
</html>

Cela affichera le résultat suivant -

Sum of the two numbers is : 30

Passer des arguments par référence

Il est possible de passer des arguments aux fonctions par référence. Cela signifie qu'une référence à la variable est manipulée par la fonction plutôt qu'une copie de la valeur de la variable.

Toute modification apportée à un argument dans ces cas modifiera la valeur de la variable d'origine. Vous pouvez passer un argument par référence en ajoutant une esperluette au nom de la variable dans l'appel de fonction ou dans la définition de fonction.

L'exemple suivant décrit les deux cas.

<html>
   
   <head>
      <title>Passing Argument by Reference</title>
   </head>
   
   <body>
      
      <?php
         function addFive($num) {
            $num += 5;
         }
         
         function addSix(&$num) {
            $num += 6;
         }
         
         $orignum = 10;
         addFive( $orignum );
         
         echo "Original Value is $orignum<br />";
         
         addSix( $orignum );
         echo "Original Value is $orignum<br />";
      ?>
      
   </body>
</html>

Cela affichera le résultat suivant -

Original Value is 10
Original Value is 16

Fonctions PHP renvoyant une valeur

Une fonction peut renvoyer une valeur en utilisant le returndéclaration en conjonction avec une valeur ou un objet. return arrête l'exécution de la fonction et renvoie la valeur au code appelant.

Vous pouvez renvoyer plus d'une valeur à partir d'une fonction en utilisant return array(1,2,3,4).

L'exemple suivant prend deux paramètres entiers et les additionne, puis renvoie leur somme au programme appelant. Notez quereturn Le mot clé est utilisé pour renvoyer une valeur à partir d'une fonction.

<html>
   
   <head>
      <title>Writing PHP Function which returns value</title>
   </head>
   
   <body>
   
      <?php
         function addFunction($num1, $num2) {
            $sum = $num1 + $num2;
            return $sum;
         }
         $return_value = addFunction(10, 20);
         
         echo "Returned value from the function : $return_value";
      ?>
      
   </body>
</html>

Cela affichera le résultat suivant -

Returned value from the function : 30

Définition des valeurs par défaut des paramètres de fonction

Vous pouvez définir un paramètre pour qu'il ait une valeur par défaut si l'appelant de la fonction ne la transmet pas.

La fonction suivante imprime NULL au cas où l'utilisation ne transmettrait aucune valeur à cette fonction.

<html>
   
   <head>
      <title>Writing PHP Function which returns value</title>
   </head>
   
   <body>
      
      <?php
         function printMe($param = NULL) {
            print $param;
         }
         
         printMe("This is test");
         printMe();
      ?>
      
   </body>
</html>

Cela produira le résultat suivant -

This is test

Appels de fonction dynamiques

Il est possible d'assigner des noms de fonction sous forme de chaînes à des variables, puis de traiter ces variables exactement comme vous le feriez pour le nom de la fonction lui-même. L'exemple suivant illustre ce comportement.

<html>
   
   <head>
      <title>Dynamic Function Calls</title>
   </head>
   
   <body>
      
      <?php
         function sayHello() {
            echo "Hello<br />";
         }
         
         $function_holder = "sayHello";
         $function_holder();
      ?>
      
   </body>
</html>

Cela affichera le résultat suivant -

Hello