6.Le langage PHP

6.6.Les fonctions

6.6.1.Les fonctions

Le langage PHP offre évidemment de nombreuses fonctions permettant d'effectuer des opérations plus ou moins complexes en un minimum de temps (car optimisées). Une fonction est appelée en précisant son nom suivi d'une parenthèse ouvrante puis éventuellement une liste d'arguments séparés par une virgule et pour finir une parenthèse fermante. Il peut s'agir de fonctions mathémathiques, des fonctions de manipulation de chaînes de caractères, des fonctions d'accès à un fichier ou une base de données, etc.
// Exemple de fonction sans argument
$sec = time(); // retourne le nombre de secondes écoulées depuis le 01/01/1970
// Exemple de fonction avec plusieurs arguments
$min = min(5, 2); // la variable $min prendra alors la valeur 2
Nous aurons l'occasion, au fil des chapitres suivants, de découvrir bon nombre de ces fonctions

6.6.2.Les fonctions utilisateur

Outre les fonctions natives offertes par PHP, vous serez vous aussi très certainement amenés à créer vos propres fonctions (ceci afin d'éviter d'avoir à ré-écrire plusieurs fois le même petit bout de code en plusieurs endroits de votre script). Une fonction se déclare par la directive function suivi d'un espace puis le nom de la fonction et une parenthèse ouvrante, éventuellement une liste d'arguments séparés par une virgule et enfin une parenthèse fermante puis le bout de code entre accolades.
<?php
function mafonction($parametre1, $parametre2)
{
    // Code PHP manipulant $parametre1 et $parametre2
    // pour réaliser l'opération demandée
}
?>
Si la fonction doit retourner une valeur, alors l'exécution du code de la fonction devra se terminer par une instruction return suivi de la valeur à retourner. Supposons que nous souhaitons faire une fonction pour retourner la puissance cubique d'une valeur nous pourrons alors implémenter le code suivant:
<?php
function cube($x)
{
    return $x*$x*$x;
}
?>
qui sera appelé par
<?php
$result = cube(3); // $resultat prendra alors la valeur 27
?>
rem
  • La fonction élévation à la puissance existe bien en PHP, il s'agit de la fonction pow() mais nous sommes là pour apprendre...
Ce qui donne le code complet
<?php
function cube($x) {
     return $x*$x*$x;
}

$resultat = cube(3);
echo $resultat;
?> 
que vous pouvez télécharger et copier dans votre espace web[où?]. Il vous suffit alors d'appeler l'adresse http://localhost/fonction_cube.php pour voir le résultat s'afficher. Vous pouvez également avoir le résultat sans passer par le navigateur mais en tapant la ligne de commande
php fonction_cube.php
à condition que l'executable php soit bien déclaré dans votre PATH (si vous ne savez pas bien à quoi cela correspond, ce n'est pas bien grave... vous n'avez qu'à vous contenter de tester via votre navigateur web).
Pour pouvoir utiliser une fonction ainsi déclarée, il faut que celle-ci soit "visible" là où elle est utilisée. Dans le cas précédent, la fonction est déclarée dans le même script que le bout de code qui l'appelle. Il n'y a donc pas de problème de visibilité. Seulement voilà, au fil du temps, vous allez certainement créer de plus en plus de fonctions toutes plus utiles les unes que les autres. Et ces fonctions, vous ne souhaitez pas devoir les copier dans les différents scripts (vos différents projets en quelque sorte) qui en auront besoin. La solution à ce problème s'appelle l'inclusion et fait l'objet du chapitre suivant.