<< Retour au sommaire

 

Les fonctions

 

 

 

Le sommaire :

  1. Introduction.
  2. Les fonctions intégrées.
  3. Les fonctions externes.
  4. Un exemple avec l’emploi d’une fonction externe.

 

 

Introduction

 

Une fonction est un morceau de programme qui réalise une tâche bien précise, qui doit être autonome et peut être utilisée par différents fichiers PHP.

Les morceaux de programmes ainsi autonomes se distinguent en deux catégories :

  1. les procédures, qui ne retournent aucune valeur.
  2. Les fonctions, qui retournent une valeur.

 

La fonction se déclare par l’intermédiaire du mot clef function, le contenu de cette dernière devant être placé entre accolades.

Une fonction peut être intégrée, si elle est placée dans le fichier source qui l’utilise, dans quel cas elle ne sera utilisable qu’à partir du fichier la contenant, ou externe, donc définie dans un fichier de fonctions, et par conséquent, utilisable par tous les autres fichiers.

 

Une fonction doit retourner un résultat par l’intermédiaire de l’instruction return.

Mais si vous souhaitez qu’une fonction connaisse une ou plusieurs valeurs à traiter, il faut lui passer ces valeurs en paramètres au moment de son appel.

Le passage de paramètres à une fonction est néanmoins facultatif, dans quel cas, la fonction n’est plus une fonction, mais une procédure…

 

La syntaxe :

< ?

function NomFonction($ParamValeur1,$ParamValeur2) {

// ici nous avons prévu que la fonction reçoive deux paramètres.

// les paramètres placés entre parenthèses sont bien sûr des variables

Traitement ;

return $Resultat ; }

 

Maintenant voici la syntaxe qui permet d’utiliser la fonction NomFonction :

$ResultatDeLaFonction = NomFonction(ValeurParam1,ValeurParam2) ;

 

La variable $ResultatDeLaFonction reçoit le résultat que retourne la fonction par l’intermédiaire de l’instruction return.

 

 


Les fonctions intégrées

 

La fonction intégrée peut être définie n’importe où dans un fichier source PHP.

Cependant, sa portée est limitée au fichier source qui la contient.

Voici un exemple de code qui propose la fonction Cube, qui calcule le cube d’une valeur passée en paramètre :

 

<html>

<head>

<?php

// création de la fonction Cube

Function Cube($ValeurATraiter)

{ $ResultatCube = $ValeurATraiter * $ValeurATraiter * $ValeurATraiter;

// Renvoi du résultat

Return $ResultatCube; } ?>

<title> Utilisation d'une fonction intégrée</title>

</head>

<body>

<?php

// initialisation d'une variable pour laquelle nous souhaitons afficher son cube

$ValeurInitiale = 3;

// affectation du cube de $ValeurInitiale dans $Resultat

$Resultat = Cube($ValeurInitiale);

// Affichage du résultat

echo "Le cube de $ValeurInitiale est : $Resultat »; ?>

</body>

</html>

 

 


Les fonctions externes

 

Une fonction peut aussi être externe.

Dans ce cas, sa portée n’est pas restreinte, elle peut être utilisée à partir de tous vos fichiers sources PHP.

Par contre, un fichier PHP qui contient les fonctions externes doit répondre aux règles suivantes :

  1. Avoir l’extension inc et non pas php.
  2. Ne pas contenir le squelette HTML.

 

Par exemple, si vous créez le fichier MesFonctions de façon à y définir vos fonctions, vous devez l’intituler MesFonctions.inc.

Puis, à l’intérieur de ce fichier, vous devez saisir vos fonctions dans les balises traditionnelles du PHP.

 

Autres règle importante, un fichier PHP qui utilise une fonction externe doit déclarer le nom du fichier de fonctions dans son entête, en première ligne.

La syntaxe est :

<?php include(«NomDuFichierDeFonctions»); ?>

 

Voici un exemple :

Le code du fichier de fonctions, Fonctions.inc :

 

<?php

// création de la fonction Cube

Function Cube($ValeurATraiter)

{ $ResultatCube = $ValeurATraiter * $ValeurATraiter * $ValeurATraiter;

// Renvoi du résultat

Return $ResultatCube; } ?>

 

Le code du fichier qui utilise la fonction Cube :

 

<?php include("fonctions.inc") ?>

<html>

<head>

<title> Utilisation d'une fonction</title>

</head>

<body>

<?php

// initialisation d'une variable pour laquelle nous souhaitons afficher son cube

$ValeurInitiale = 3;

// affectation du cube de $ValeurInitiale dans $Resultat

$Resultat = Cube($ValeurInitiale);

// Affichage du résultat

echo "Le cube de $ValeurInitiale est : $Resultat »; ?>

</body>

</html>

 


Un exemple avec l’emploi d’une fonction externe

 

La fonction PHP « date » retourne la date du jour dont le format est défini en paramètre.

Par exemple, pour récupérer le jour de la semaine, la date du jour, le mois sur 2 chiffres et l’année sur 4 chiffres, la syntaxe est :

$MaVariable = date ("l j m Y");

Le souci ici, c’est que le jour de la semaine est retourné en anglais !

 

Je propose donc d’élaborer une fonction qui retourne le jour de la semaine en français.

Cette fonction s’intitule « TraduireJour » et va être définie dans le fichier de fonctions externes « fonctions.inc ».

 

Voici le code de la fonction « TraduireJour » dans le fichier « fonctions.inc » :

 

<?php

// Fonction qui retourne le jour de la semaine en français

function TraduireJour($JourSemaineEnAnglais) {

// Traitement du jour dans un switch

switch ($JourSemaineEnAnglais) {

case "Monday" :

  $jour = "Lundi";

  break;

case "Tuesday" :

  $jour = "Mardi";

  break;

case "Wednesday" :

  $jour = "Mercredi";

  break;

case "Thursday" :

  $jour = "Jeudi";

  break;

case "Friday" :

  $jour = "Vendredi";

  break;

case "Saturday" :

  $jour = "Samedi";

  break;

default :

  $jour = "Dimanche"; }

// Retourne le résultat

return $jour; } ?>

 

Maintenant que vous avez compris le rôle et la structure de la fonction « TraduireJour », voici le code de l’index !

 

<?php

// inclusion du fichier de fonctions qui contient la fonction TraduireJour

include ("fonctions.inc"); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >

<head>

<title>Bienvenue</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

</head>

<body>

<h1>Bienvenue dans la page d'accueil</h1>

<pre>

Savez-vous quel jour nous sommes ?

 

Voici la réponse :

 

<?php

// Récupération du jour de la semaine en français

$JourSemaine = TraduireJour (date ("l"));

// Récupération de la suite de la date

$DateDuJour = date ("j m Y");

// Concaténation du jour de la semaine à la date

$DateDuJour = $JourSemaine." ".$DateDuJour;

// Affichage du résultat

echo $DateDuJour; ?>

 

Merci de votre visite...

</pre>

</body>

</html>

 

Télécharger l’exemple

 

Philippe BOULANGER