- Plan du Site | Contact |
DéfinitionUne fonction se définit à l'aide du mot-clé function, d'un identifiant valide, et de parenthèses '()'.
<?php function bateau() { echo "fonction remplie !"; } bateau(); // appel de fonction ?>
retourne : fonction remplie !
<?php function mult($i, $j) { // $i et $j sont des variables locales return $i*$j; /* multiplie les valeurs des deux arguments et retourne le résultat */ } ?>
Pour implémenter cette fonction, passons-lui deux variables en argument :
<?php $a = 5; $b = 6; $c = mult($a, $b); /* assignation de la valeur de retour d'une fonction à une variable */ ?>
valeur de $c : 30
Passage d'ArgumentsUne variable déclarée à l'intérieur d'une fonction n'a aucune valeur à l'extérieur (portée locale) :
<?php $a=5; function compteur_non_fonctionnel($i) { $i++; } compteur_non_fonctionnel($a); ?>
valeur de $a : 5
L'opérateur d'adresse '&' permet à une variable locale de pointer sur l'adresse d'une globale :
<?php function compteur_fonctionnel(&$i) { /* $i pointe désormais sur l'adresse de la variable passée en argument lors de l'appel de fonction */ $i++; } compteur_fonctionnel($a); ?>
valeur de $a : 6
$_GLOBALSUne variable déclarée à l'extérieur d'une fonction (portée globale) n'a pas cours à l'intérieur de celle-ci.
Si l'on doit faire appel à une globale à l'intérieur d'une fonction, il faut la faire précéder du mot réservé global :
<?php function nouveau_compteur () { global $a; $a++; } nouveau_compteur(); ?>
valeur de $a : 7
La variable prédéfinie $_GLOBALS est un tableau associatif dont les champs contiennent les globales déclarées dans le script :
<?php function autre_compteur () { $_GLOBALS['a']++; } autre_compteur(); ?>
valeur de $a : 8
require()La fonction require() appelle et exécute un code contenu dans un fichier externe.
Soit un fichier "phrase.inc" situé dans le même dossier que le présent fichier :
le mot du jour : <?php require("phrase.inc"); ?>
retourne : le mot du jour : Il vaut mieux qu'il pleuve un jour comme aujourd'hui qu'un jour où il fait beau !
L'extension .inc est par convention utilisée pour désigner un fichier de bibliothèque.
include()La fonction include() est similaire à require(), à ceci près qu'avec include() le traitement ne s'interrompra pas en cas d'erreur, et le reste de la page s'affichera normalement.
Voici le code d'un test idiot, appelant conditionnellement un fichier de bibliothèque ou un autre, selon l'indice criminogène de votre navigateur :
<?php if (ereg ("MSIE", $HTTP_USER_AGENT)) { include ('IE.inc'); } else { include ('NOT.inc'); } ?>
La fonction ereg() recherche (et renvoie TRUE si elle trouve) la chaîne 'MSIE' dans la chaîne retournée par $HTTP_USER_AGENT.
|
|
||||
Services | Solutions | Formations | Portfolio | Accès Client |