Les fonctions utilisateur en PHP
- 1- Objectifs
- 2- Définition
- 3- Avantages des fonctions définies par l'utilisateur
- 3.1- Code réutilisable :
- 3.2- Moins de répétition de code :
- 3.3- Facile à comprendre :
- 3.4- Moins des erreurs :
- 4- Déclaration d’une fonction
- 4.1- Syntaxe:
- 4.2- Règles à respecter:
- 4.3- Exemple:
- 5- Fonctions avec paramètres
- 5.1- Syntaxe:
- 5.2- Exemple:
- 6- Argument avec valeur par défaut:
- 6.1- L'ordre des paramètres par défaut
- 6.2- Valeur nulle facultative
- 7- Fonction PHP renvoyant des valeurs
- 7.1- Retour d'une valeur
- 7.2- Retour de plusieurs valeurs
- 8- Applications
- 8.1- App01
- 8.2- App02
- 8.3- App03
- 8.3.1- Sommaire du cours PHP
-
Objectifs
- Etre capable de créer des fonctions personnalisées en PHP
-
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.
-
Avantages des fonctions définies par l’utilisateur
- Voici quelques avantages de l’utilisation des fonctions pour vous:
-
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.
-
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.
-
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.
-
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.
-
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:
-
Syntaxe:
-
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
{}
. -
Exemple:
- Avec
mktime(hour, minute, second, month, day, year, is_dst)
- Dans ce cas, le deuxième argument n’étant pas fourni, $nb2 aura la valeur par défaut de 10.
- 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.
-
Fonctions avec paramètres
- 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;
- 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.
-
Syntaxe:
-
Exemple:
-
Argument avec valeur par défaut:
- 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.
- Exemple 01 :
- Exemple 02 :
- 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’. -
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:
-
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 : -
Fonction PHP renvoyant des valeurs
-
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. -
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.
-
Applications
-
App01
- 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
-
App02
- 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
-
App03
- Écrivez une fonction Php pour trouver le maximum de trois nombres (n’utilisez pas max).
Sommaire
Les fonctions utilisateur en PHP
-
Exemple01
<? php
// Définition de la fonction
function aujourdhui() {
echo "Aujourd'hui est : ".date ('l');
}
// Fonction d'appel
aujourdhui();
?>
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.
Activité
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";
?>
function maFonction ($unParameter, $autresParameter) {
// Code à exécuter
}
<?php
function addition($nb1,$nb2){
echo $nb1+$nb2;
}
addition(3,9);
?>
<?php
function division($nb1,$nb2=10){
echo $nb1/$nb2;
}
division(2);
?>
<?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");
?>
<?php
function concat( $str1, $str2,$delimiter = ' ')
{
return $str1 . $delimiter . $str2;
}
$message = concat('Bonjour', ' à tous!', ',');
echo $message;
?>
<?php
function hello($nom, $salutation = "Bonjour", $ponctuation = null) {
echo $salutation." ".$nom.$ponctuation;
}
hello("Sammy");
?>
Exemple:
function add($a, $b)
{
$sum = $a + $b;
// returning the result
return $sum;
}
echo "5 + 10 = " . add(5, 10) . "";
?>
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;
?>
<?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) ;
?>