Avez-vous une question? (216) 97 656 803 hajjriadh@gmail.com
PHP

Les fonctions utilisateur en PHP

Un cours complet pour maîtriser Les fonctions utilisateur en PHP.

0 chapitres 0 QCM Accès gratuit
  1. Objectifs

    • Etre capable de créer des fonctions personnalisées en PHP
  2. Définition

    • Une fonction est un morceau de code permettant d'automatiser un traitement ou de donner un affichage particulier. Cela permet également de réutiliser un morceau de code à plusieurs reprises.
    • Une fonction n'est rien d'autre qu'un "bloc d'instructions" qui effectue généralement une tâche spécifique et peut être utilisée à plusieurs reprises dans notre programme. Ce "bloc d'instructions" reçoit également un nom afin que chaque fois que nous voulons l'utiliser dans notre programme ou script, nous pouvons l'appeler par son nom, suivi de ces arguments.
    • En plus des fonctions natives, PHP vous permet également de définir vos propres fonctions. C'est un moyen de créer des packages de code réutilisables qui effectuent des tâches spécifiques et peuvent être conservés et maintenus séparément du programme principal.
    • En PHP, les fonctions utilisateur (ou fonctions définies par l'utilisateur) sont des blocs de code que vous pouvez créer pour effectuer des tâches spécifiques et les réutiliser dans votre script PHP. Elles permettent de simplifier la logique du code en le fractionnant en petits morceaux, ce qui facilite la maintenance, la lisibilité et la réutilisation du code.
  3. Déclaration d’une fonction

    • Pour déclarer une fonction, utilisez l’opérateur function et donnez lui un nom.
    • La syntaxe de base de la création d'une fonction personnalisée peut être donnée avec:
      1. Syntaxe:

      2. Règles à respecter:
        • La déclaration d'une fonction définie par l'utilisateur :
          • Commence par le mot function,
          • Suivi du nom de la fonction que vous souhaitez créer
            • Comme pour les variables un nom d'une fonction doit commencer par une lettre ou un caractère de soulignement et non par un chiffre, éventuellement suivi par les autres lettres, chiffres ou caractères de soulignement. Les noms de fonction ne sont pas sensibles à la casse.
          • Suivi de parenthèses ()
          • placez enfin le code de votre fonction entre accolades {}.
      3. Exemple:
        <? php
        function addition($a, $b) {
            $resultat = $a + $b;
            return $resultat;
        }
        ?>
  4. Appel de la fonction :
    • Une fois que vous avez défini une fonction, vous pouvez l'appeler n'importe où dans votre script en utilisant son nom suivi de parenthèses. Si la fonction a des paramètres, vous devez leur passer des valeurs lors de l'appel. Par exemple :
    <? php
    $resultat = addition(5, 3);
    echo $resultat; // Cela affichera 8
    ?>
  5. Fonctions avec paramètres en Php

    • Parfois, nous n'avons pas besoin d'une valeur unique pour tous nos paramètres ; à la place, nous pouvons utiliser une valeur spécifique si l'appel de fonction n'inclut pas cet argument. Pour spécifier un paramètre comme facultatif, attribuez-lui une valeur par défaut .
    • Les paramètres fonctionnent comme des variables d'espace réservé dans une fonction;
    • Les fonctions avec paramètres en PHP vous permettent de créer des fonctions qui acceptent des valeurs d'entrée (paramètres) pour effectuer des opérations sur ces valeurs et, éventuellement, renvoyer un résultat.
    • Lorsqu'une fonction a plusieurs paramètres, vous devez les séparer à l'aide d'une virgule ( ,).
    • ils sont remplacés au moment de l'exécution par les valeurs (appelées argument) fournies à la fonction au moment de l'appel.
    • Un argument est une valeur que vous passez à une fonction et un paramètre est la variable de la fonction qui reçoit l'argument. Cependant, dans l'usage courant, ces termes sont interchangeables, c'est-à-dire qu'un argument est un paramètre est un argument.
    1. Définition d'une fonction avec des paramètres :
      • Pour définir une fonction avec des paramètres en PHP, vous spécifiez les paramètres entre parenthèses après le nom de la fonction. Vous pouvez avoir autant de paramètres que nécessaire, séparés par des virgules. Par exemple :
      • function addition($a, $b) {
            $resultat = $a + $b;
            return $resultat;
        }
      • Dans cet exemple, la fonction addition prend deux paramètres, $a et $b.
    2. Appel de la fonction avec des paramètres :
        En PHP, lors de la déclaration d'une fonction avec des paramètres par défaut, il y a une règle importante à respecter : les paramètres avec des valeurs par défaut doivent être définis après les paramètres sans valeur par défaut dans la liste des paramètres de la fonction.
      $resultat = addition(5, 3);
      echo $resultat; // Cela affichera 8
    3. Vous pouvez également passer des variables comme paramètres :
    4. $x = 10;
      $y = 20;
      $resultat = addition($x, $y);
      echo $resultat; // Cela affichera 30
    5. Utilisation des paramètres à l'intérieur de la fonction :
      • À l'intérieur de la fonction, vous pouvez utiliser les paramètres comme des variables locales pour effectuer des opérations. Dans l'exemple de la fonction addition ci-dessus, nous utilisons les paramètres $a et $b pour effectuer une addition.
    6. Retour de valeurs :
      • Les fonctions avec des paramètres peuvent renvoyer des valeurs en utilisant l'instruction return. Par exemple :
      function multiplication($a, $b) {
          $resultat = $a * $b;
          return $resultat;
      }
      
      $produit = multiplication(4, 5);
      echo $produit; // Cela affichera 20
    7. Dans cet exemple, la fonction multiplication prend deux paramètres, effectue une multiplication et renvoie le résultat.
    8. function maFonction ($unParameter, $autresParameter) {
          // Code à exécuter
      }
    9. Activité
      • Définir une fonction calculerMoyenne qui prend trois paramètres : $nombre1, $nombre2, et $nombre3.
      • La fonction calcule la somme de ces nombres, puis divise cette somme par 3 pour obtenir la moyenne.
      • Appeler la fonction calculerMoyenne avec trois ensembles de nombres différents et stocker les résultats dans les variables $moyenne1, $moyenne2 et $moyenne3.
      • Utiliser des instructions echo pour afficher les résultats à l'écran.
      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Document</title>
      </head>
      <body>
          <?php
          function calculerMoyenne($x, $y,$z){
              $resultat=($x+$y+$z)/3;
              return $resultat;
          }
          $moyenne01=calculerMoyenne(10,14,18);
          $moyenne02=calculerMoyenne(11,20,12);
          $moyenne03=calculerMoyenne(10,10,11);
          echo"".$moyenne01."<br>";
          echo "".$moyenne02."<br>";
          echo "".$moyenne03."<br>";
      
          ?>
      </body>
      </html>
  6. Argument avec valeur par défaut en php:

    • En PHP, vous pouvez définir des valeurs par défaut pour les arguments de fonction. Cela signifie que si un argument n'est pas fourni lors de l'appel de la fonction, la valeur par défaut sera utilisée à la place.
    • Lorsque vous spécifiez un argument par défaut pour un paramètre, le paramètre devient facultatif. Cela signifie que vous pouvez transmettre une valeur ou l'ignorer.
    • Les arguments par défaut doivent être des expressions constantes. Ils ne peuvent pas être des variables ou des appels de fonction.
    • PHP vous permet d'utiliser une valeur scalaire, un tableau et nullcomme arguments par défaut.
    1. Exemples:
      1. Exemple 01:

        <?php
        function exempleFonction($argument1, $argument2 = "Valeur par défaut") {
            echo "Argument 1 : $argument1
        "; echo "Argument 2 : $argument2
        "; } // Appels de la fonction avec un seul argument exempleFonction("Valeur 1"); // Appels de la fonction avec deux arguments exempleFonction("Valeur 1", "Valeur 2");?>
        <?php
            function division($nb1,$nb2=10){
                echo $nb1/$nb2;
            }
            division(2);
        ?>
      2. Exemple 02:

          <?php
          // Defining function
          function customFont($font, $size=1.5,$couleur='blue'){
              echo "<p style=\"font-family: $font; font-size: {$size}em; color:{$couleur}\"> Bonjour le monde!</p>";
          }
           
          // Calling function
          customFont("Arial", 3,'red');
          customFont("Times", 1,'green');
          customFont("Courier");
          ?>
          • Le troisième appel à customFont() n'inclut pas le deuxième et le troisième argument. Cela oblige le moteur PHP à utiliser les valeurs par défaut du $size et $couleur qui sont 1,5 et 'blue'.
    2. L'ordre des paramètres par défaut
      • Lorsque vous utilisez des paramètres par défaut, il est recommandé de les placer après les paramètres qui n'ont pas de valeurs par défaut. Sinon, vous obtiendrez un comportement inattendu. Par exemple:
      <?php
      function concat( $str1, $str2,$delimiter = ' ')
      {
      	return $str1 . $delimiter . $str2;
      }
      $message = concat('Bonjour', ' à tous!', ',');
      echo $message;
      ?>
    3. Valeur nulle facultative
      • Lorsqu'une variable est complètement facultative et ne nécessite aucune valeur, la valeur par défaut peut être définie comme null. La valeur null contient de l'espace pour une valeur sans ajouter elle-même une valeur supplémentaire :
      <?php
      function hello($nom, $salutation = "Bonjour", $ponctuation = null) {
          echo $salutation." ".$nom.$ponctuation;
      }
      hello("Sammy");
      ?>
  7. Fonction PHP renvoyant des valeurs

    • En PHP, les fonctions peuvent renvoyer des valeurs à l'endroit où elles ont été appelées à l'aide de l'instruction return. Les valeurs renvoyées peuvent être de n'importe quel type, que ce soit des entiers, des chaînes de caractères, des tableaux, des objets, etc.
    1. Définition d'une fonction qui renvoie une valeur en php
      • Pour définir une fonction qui renvoie une valeur, utilisez le mot-clé function, suivi du nom de la fonction, des paramètres éventuels entre parenthèses, et du bloc de code. À l'intérieur de la fonction, utilisez l'instruction return pour renvoyer une valeur. Par exemple :
      • function addition($a, $b) {
            $resultat = $a + $b;
            return $resultat;
        }
      • Dans cet exemple, la fonction addition accepte deux paramètres, effectue une addition, puis renvoie le résultat.
    2. Appel de la fonction et utilisation de la valeur renvoyée :
      • Lorsque vous appelez la fonction, vous pouvez stocker la valeur renvoyée dans une variable et l'utiliser comme bon vous semble. Par exemple :
      • $sum = addition(5, 3);
        echo "La somme est : " . $sum; // Cela affichera "La somme est : 8"
      • Vous pouvez également utiliser directement la valeur renvoyée dans une autre expression ou une instruction, sans la stocker dans une variable :
      • echo "La somme est : " . addition(5, 3); // Cela affichera "La somme est : 8"
    3. Retour d'une valeur
      • Les fonctions peuvent même renvoyer des résultats. Lorsque nous avons des fonctions définies pour effectuer une opération mathématique, etc., nous souhaitons afficher le résultat de l'opération, nous renvoyons donc le résultat.
      • L'instruction return est utilisée pour renvoyer n'importe quelle variable ou valeur d'une fonction en PHP.
      • Exemple:
      function add($a, $b)
      {
          $sum = $a + $b;
          // returning the result
          return $sum;
      }
      echo "5 + 10 = " . add(5, 10) . "";
      ?>
    4. Retour de plusieurs valeurs
      • PHP n’offre pas la possibilité de retourner explicitement plusieurs variables à l’aide d’une syntaxe du type : return $a,$b,$c,...
      • Pour pallier cet inconvénient, il suffit de retourner une variable de type array contenant autant de valeurs que désiré. Vous pourriez aussi envisager de retourner un objet doté de plusieurs propriétés, mais il serait quelque peu fastidieux de créer une classe et des objets spécialement pour la circonstance si la création d’objets ne faisait pas partie de la conception générale du script.
      • En PHP, vous pouvez renvoyer plusieurs valeurs d'une fonction en utilisant un tableau (array) ou un objet. Voici comment vous pouvez faire cela :
        1. Utilisation d'un tableau (array) :

        2. function obtenirInfos() {
              $nom = "Doe";
              $prenom = "John";
              $age = 30;
          
              // Créer un tableau contenant les valeurs à retourner
              $infos = array(
                  "nom" => $nom,
                  "prenom" => $prenom,
                  "age" => $age
              );
          
              return $infos;
          }
          
          $resultat = obtenirInfos();
          
          echo "Nom : " . $resultat["nom"] . "<br>";
          echo "Prénom : " . $resultat["prenom"] . "<br>";
          echo "Âge : " . $resultat["age"] . "<br>";
        3. Utilisation d'un objet (si la création d'objets est prévue dans la conception) :

        4. class Informations {
              public $nom;
              public $prenom;
              public $age;
          }
          
          function obtenirInfos() {
              $info = new Informations();
              $info->nom = "Doe";
              $info->prenom = "John";
              $info->age = 30;
          
              return $info;
          }
          
          $resultat = obtenirInfos();
          
          echo "Nom : " . $resultat->nom . "<br>";
          echo "Prénom : " . $resultat->prenom . "<br>";
          echo "Âge : " . $resultat->age . "<br>";
  8. Avantages des fonctions définies par l'utilisateur

    • Voici quelques avantages de l'utilisation des fonctions pour vous:
      1. Code réutilisable :
        • Vous écrivez une fonction une fois et vous pouvez l'utiliser mille fois dans votre programme.
        • La fonction vous permet d'extraire le bloc de code couramment utilisé en un seul composant.
        • Vous pouvez maintenant effectuer la même tâche en appelant cette fonction où vous le souhaitez dans votre script sans avoir à copier et coller le même bloc de code encore et encore.
      2. Moins de répétition de code :
        • Dans l'exemple ci-dessus, nous n'avions qu'une seule ligne de code dans la fonction, mais que se passe-t-il si nous avons 10 lignes de code. Donc, plutôt que de répéter toutes ces lignes de code encore et encore, nous pouvons simplement créer une fonction pour eux et appeler simplement la fonction.
      3. Facile à comprendre :
        • L'utilisation des fonctions de votre programme rend le code plus lisible et plus facile à comprendre.
        • Puisqu'une fonction créée une fois peut être utilisée plusieurs fois, toutes les modifications apportées à l'intérieur d'une fonction sont automatiquement implémentées à tous les endroits sans toucher les plusieurs fichiers.
      4. Moins des erreurs :
        • Lorsque le programme est subdivisé en fonctions, si une erreur se produit, vous savez exactement quelle fonction est à l'origine de l'erreur et où la trouver
        • La correction des erreurs devient beaucoup plus facile.
  9. Applications

    1. App01

        Les fonctions utilisateur en PHP

      • Créez une fonction VolumeCone qui sert à calculer le volume d'un cône.
      • Le principe est le suivant :
      • vous donnez le rayon et la hauteur du cône à la fonction, elle travaille et vous renvoie le volume que vous cherchiez.
      • Il faut connaître la formule pour calculer le volume d'un cône. Le calcul à faire pour trouver le volume est : rayon * rayon * 3.14 * hauteur * (1/3).
      <? 
      // calcul du volume d'un cône de rayon 5 et de hauteur 2 
      $volume = 5 * 5 * 3.14 * 2 * (1/3); 
      echo "Le volume du cône de rayon 5 et de hauteur 2 est : $volume cm<sup>3</sup><br>";
      
      // calcul du volume d'un cône de rayon 3 et de hauteur 4 
      $volume = 3 * 3 * 3.14 * 4 * (1/3); 
      echo "Le volume du cône de rayon 3 et de hauteur 4 est : $volume cm<sup>3</sup><br>";
      ?> 
      En PHP, on ne met pas de virgule pour les nombres décimaux, il faut mettre un point ! Par exemple, il ne faut pas écrire 3,14 mais 3.14 !
      <? 
      // Ci-dessous, la fonction qui calcule le volume du cône  
      function VolumeCone($rayon, $hauteur) 
      { 
      $volume = $rayon * $rayon * 3.14 * $hauteur * (1/3); // calcul du volume
      return $volume; // indique la valeur à renvoyer, ici le volume 
      }  
      
      $volume = VolumeCone(3, 1); 
      echo "Le volume d'un cône de rayon 3 et de hauteur 1 est de $volume"; 
      ?>
    2. App02
      • Prenons le contexte d'un site e-commerce qui aura besoin d'ajouter la TVA de 19% sur ses produits.
      • Déclarons notre première fonction pour calculer le prix TTC d'un produit qui coute 244 DT HTVA
      • Solution
        <?php
                function calculerTTC($PrixHT,$TauxTVA=19)
                {
                   $PrixTTC= $PrixHT*(1 + ($TauxTVA/100) );
                   return $PrixTTC;
                }
                //PrixTTC = PrixHT*(1 + TauxTVA );
        
                $TTC=calculerTTC(244);
                echo "Le prix TTC est :".$TTC;
                
            ?>
        
    3. App03
      • Le site e-commerce (que nous avons pris comme sujet) ne vendra pas que des produits à qui ont un taux de TVA de 19%, mais à d'autres produits qui ont un taux de 12% de 6% etc...
      • Nous allons améliorer notre fonction afin de pouvoir effectuer tous les calculs et non pas que sur un TVA fixe de 19%.
      • Pour cela nous allons avoir besoin d'un argument entrant (le TVA, ici appelée $tva) et l'argument $prix
    4. App04
      • Écrivez une fonction Php pour trouver le maximum de trois nombres (n'utilisez pas max).
      <?php
      // Defining function
      function maximum($a, $b,$c){
        $max=0;
        if($a>$b)
            $max=$a;
        else
            $max=$b;
        if ($c>$max)
            $max=$c;   
          return $max;
       }
       echo maximum(19,14,8) ;        
      ?>
    5. App05
      1. Enoncé

        • Écrivez une fonction calculerStatistiques en PHP qui accepte un tableau de nombres en entrée. La fonction doit renvoyer un tableau associatif contenant trois valeurs : la somme de tous les nombres, la moyenne des nombres et le produit de tous les nombres.
        Solution
        function calculerStatistiques($nombres) {
            $resultats = array(
                'somme' => 0,
                'moyenne' => 0,
                'produit' => 1
            );
        
            if (count($nombres) > 0) {
                // Calculer la somme
                $resultats['somme'] = array_sum($nombres);
        
                // Calculer la moyenne
                $resultats['moyenne'] = $resultats['somme'] / count($nombres);
        
                // Calculer le produit
                foreach ($nombres as $nombre) {
                    $resultats['produit'] *= $nombre;
                }
            }
        
            return $resultats;
        }
        
        // Exemple d'utilisation :
        $nombres = [5, 10, 15, 20];
        $resultats = calculerStatistiques($nombres);
        
        // Afficher la somme, la moyenne et le produit
        echo "Somme : " . $resultats['somme'] . "<br>";
        echo "Moyenne : " . $resultats['moyenne'] . "<br>";
        echo "Produit : " . $resultats['produit'] . "<br>";