Magazine Internet

Créer une function en php

Publié le 09 novembre 2007 par Nabil Dawdy

1. Qu’est ce que c’est ? Utilité ?

Une fonction permet de regrouper plusieurs fonctions/codes <…> a appliquer a une ou plusieurs variables (ou aucune).
On se sert souvent d’une fonction pour permettre de ne pas répéter un même ensemble de codes plusieurs fois de suite dans un même script.
Un fichier de configuration peut par exemple contenir des codes qui se répètent ou aussi une partie du design qui pourrai être modifier à parti de cette fonction.
Une fonction est donc très pratique et si vous vous en servez efficacement, elle peut vous faire gagner beaucoup de temps.

2. Structure d’une fonction

Une fonction de “base”

La structure de base d’une fonction se présente comme ci-dessous

function nom_fonction ($variable1 , $variable2) {
// insertion du code de la fonction

}
// Appel à la fonction

nom_fonction();

function désigne l’instruction function qui est suivi par le nom de la fonction.
Vous avez ensuite une paire de parenthèses ou seront mis les variables qui pourront être utilisées dans le code que se trouve entre deux accolades.
L’insertion de fonction n’est néanmoins pas obligatoire, vous pouvez très bien mettre vos parenthèses “l’une à côté de l’autre” function nom().
Pour faire appel à la fonction il suffit de mettre son nom suivit des parenthèses (avec ou sans argument) sans oublié le ; si nécessaire.

Première exemple sans argument :

<?php
// Déclaration de la fonction "mon_mail"
function mon_mail()
{
// le code

echo "<a href=\"mailto:[email protected]\">Contact</a>";
}
// Appel de la fonction

mon_mail();
// Affichera "Contact" avec un lien vers votre e-mail
?>

Je ne passe ici aucune variable, l’intérêt est donc assez mineur …

Second exemple avec argument :

// Déclaration de la fonction "champ" avec argument function champ ($nom,$value)

{
echo "<input name='$nom' size='40' value='$value' type='text' />";
}
// appel de la fonction

champ("sexe","masculin");
// Affichera un champ avec comme nom "sexe"
//et comme valeur par défaut "masculin"

Je demande ici deux arguments, l’utilité est encore peu pratique, mais c’est pour vous expliquer le principe.
Le nom des deux arguments $nom et $value n’est réservé que pour la fonction, c’est à dire que si sexe était une variable, il ne serait pas obligé de l’appeller $nom.
NB : A l’intérieur d’une fonction le code est identique a tout autre code extérieur.

Troisième exemple avec argument et variable vide :

Comme je disais précédemment, à l’intérieur d’une fonction, le code est identique

// Déclaration de la fonction "membre"
//avec argument function membre ($nom,$numero)

{
if ($nom != "") {
echo "Salut $nom, tu es le membre numero $numero";
} else {
echo 'Tu n\'est pas membre, ou pas identifier :(';
}
}
// appel de la fonction

membre($nom,$numero);
// Afficher Salut "nom", tu es le membre numéro "X" si $nom n'est pas vide

// Sinon il affiche "Tu n'est pas membre, ou pas identifier :("

Quatrième exemple avec argument par défaut :

Il peut arriver que vous voulez entrer une valeur par défaut au cas où celle-ci n’est pas renseigné :

// Déclaration de la fonction "form" avec argument
function form ($mail="Votre mail",$passe="Votre mot de passe")
{
echo "<input name='mail' value='$mail' type='text' />";
if ($mail=="Votre mail" & $passe=="Votre mot de passe") {
echo "....";
}else{
echo "...";
}
}
// appel de la fonction

form($mail_user,$passe_user);
// Ici nous vérifions par exemple avec les cookies
//si la personne est inscrite ou non

// Si oui, l'email et le passe son renseigné
//automatiquement avec un bouton Identification

// Si non, il demande l'email et un passe avec un bouton Inscription

Il suffit donc pour définir une valeur par défaut de faire comme una variable habituelle ($nom=”valeur”) sans le ; évidemment.
Si $mail_user est vide, $mail prendra automatiquement la valeur de $email et inversement. De même pour $passe …


Retour à La Une de Logo Paperblog