Génération PHP.net » Les fonctions

Les fonctions

PHP propose par défaut plusieurs fonctions très utiles pour le programmeur. En réalité, une fonction correspond à un ensemble d’instructions qui seront exécutées lors de l’appelle à celle-ci. Cependant, il est parfois nécessaire d’en créer selon nos critères et besoins.
Leur but premier est donc de diminuer grandement le nombre de lignes de code en regroupant les instructions dans une sorte de “contenant” qui sera appellé fonction.

Déclaration de la fonction

Afin de pouvoir utiliser la fonction, il est important de la déclarer. Lors de sa déclaration, vous devez inclure le nom de la fonction, ses arguments (facultatifs) et les instructions.

<?php
/*
 * Il est possible d'inclure plus ou moins de 2 arguments
 * Ou simplement de ne pas en inclure du tout
**/
function Nom_Fonction( $argument1, $argument2 ) {
  // Instructions ici
}
// Bien refermer les accolades
?>

Les noms des fonctions doivent suivre les même règles que ceux des variables:

  • Il doit commencer par une lettre (majuscule ou minuscule) ou un _ (non par un chiffre)
  • Il peut comporter des lettres, des chiffres et le caractère _ (les espaces ne sont pas acceptées!)

Les arguments sont facultatifs, mais s’il n’y en a pas, les parenthèses doivent rester.

Appel à la fonction

Il est magnifique de déclarer une fonction cependant pour qu’elle soit utile, il faut lui faire appel.
Pour faire appel à une fonction, il suffit simplement d’écrire son nom suivis de parenthèses qui contiendront les arguments (facultatifs)

  • S’il n’y a pas d’arguments, les parenthèses doivent rester.
  • Bien vérifier que vous avez mis un point-virgule après l’appel de celle-ci car vous risquerez de voir apparaître une PARSE ERROR.
<?php
// Il est possible d'inclure plus de 2 arguments
Nom_Fonction( 'argument1', 'argument2' );
?>

Les arguments

Qu’est-ce qu’un argument? Un argument est une sorte de matériel que vous donnez à votre fonction.
Elle peut l’utiliser afin d’exécuter ses instructions et permettent plus de dynamisme.
Lors de la déclaration de la fonction comme vu précédemment, vous pouvez déclarer des arguments qui prendront les valeurs attribuées lors de son appel.

Arguments passés par valeur

Un argument passé par valeur est en fait une copie de la valeur définie. Ainsi la nouvelle variable créée n’aura aucune interaction avec celle utilisée lors de l’appel de la fonction.

Exemple

<?php
// Déclaration de la fonction
function Nom_Fonction( $arg1, $arg2 ) {
  // Instructions
}
 
// Appel de la fonction
Nom_Fonction( 'argument1', 'argument2' );
?>

Lors de l’exécution de la fonction, la variable $arg1 contiendra “argument1″ et $arg2 contiendra “argument2″.

Arguments passés par référence

Si dans votre fonction, vous avez à modifier la valeur de votre argument et que vous devez ensuite pouvoir y accéder partout dans votre programme, il est possible de passer celui-ci par référence. Cela signifie que si la valeur de la variable est modifiée dans la fonction, elle le sera pour tout le programme.

Pour cela, il vous faut inclure le signe & devant l’argument afin d’indiquer que vous passez cette variable par référence.

Exemple

<?php
function Bonjour(&$nom) {
  $nom = 'Bonjour ' . $nom;
}
 
$nom = 'Xenon';
Bonjour($nom);
 
// Affichera "Bonjour Xenon"
echo $nom;
?>

Arguments facultatifs

Si vous désirez créer une fonction avec certains arguments facultatifs, il suffit d’attribuer aux arguments facultatifs une valeur par défaut.

<?php
function Addition( $arg1, $arg2='15') {
  echo $arg1 + $arg2;
}
 
// Affichera "18"
Addition(3);
?>

Retour de variables

Une fonction peut retourner une valeur si vous le désirez. Il faut insérer l’instruction return suivie de la variable à retourner. Le mot-clé return met fin immédiatement à la fonction.

<?php
function Addition( $arg1, $arg2) {
  return $arg1 + $arg2;
}
 
$total = Addition('3', '4');
 
// Affichera "7"
echo $total;
?>

Si vous désirez retourner plusieurs variables, il est possible aussi de retourner une variable tableau.

Variables globales

Les variables déclarées ou modifiées à l’intérieur d’une fonction, ne seront pas accessibles à l’extérieur de celle-ci et les variables de l’extérieur ne le sont pas de l’intérieur d’une fonction. Vous pouvez définir une variable globale afin de pouvoir y accéder partout dans votre code. (dans la fonction et à l’extérieur)

<?php
function Multiplication() {
  global $arg1, $arg2, $reponse;
  $reponse = $arg1 * $arg2;
}
 
$arg1 = 3;
$arg2 = 4;
Multiplication();
 
// Affichera "12"
echo $reponse;
?>

Les variables fonctions

Il est possible avec PHP d’assigner à une variable une fonction. En effet, il vous suffit d’assigner à la variable le nom de la fonction désirée.
Ainsi chaque appel à cette variable fera référence à la fonction en question. Très utile si vous souhaitez changer de fonction dépendemment des circonstances.

Exemples

<?php
function Bonjour($nom) {
  return 'Bonjour ' . $nom;
}
 
$salut = 'Bonjour';
 
// Affichera "Bonjour Xenon_54"
echo $salut('Xenon_54');
?>