Les fonctions
Comme nous l'avons déjà vu, un programme est une suite
d'instructions que le serveur (par l'intermédiaire de l'interpréteur
PHP) est chargé d'exécuter pour accomplir une tâche
bien précise : ce que nous avons décidé de lui
faire faire. Une fonction, devient alors un petit (ou gros) programme à lui seul, capable d'exécuter un groupe d'instructions qui, agissant ensembles, réalisent une tâche plus ou moins complexe. On peut, dans un premier temps, comparer une fonction à un bon petit employé (ouvrier ou cadre) bien consciencieux, qui, dès qu'on l'appelle, se met à faire très exactement ce pour quoi il a été créé. Mais rien d'autre. Nous aurons alors affaire à deux types de bons petits employés. 1) Ceux qui peuvent travailler sans qu'on leur donne quoi que ce soit de supplémentaire. Ils ont leurs propres outils, leurs propres données, et ils font ce qu'ils doivent faire tout seuls. Ils savent tout seuls aller chercher ce dont ils ont besoin là où on leur dit d'aller le chercher. Par exemple : Traduit en terme de fonction, on dira que cette fonction est indépendante. Elle n'a besoin d'aucun paramètre (on dit aussi "Argument"), elle sait tout faire toute seule. Mais rien que ça, et rien d'autre. Inutile d'espérer qu'elle transporte autre chose que du sable, elle ne sait pas faire. 2) Ceux à qui il faut donner du grain à moudre.
Par exemple : Traduit en terme de fonction, on dira que pour agir efficacement, cette fonction a besoin qu'on lui transmette trois paramètres (ou "Argments"). Le point de départ, le point d'arrivée, le matériau à transporter. Si on oublie un seul des paramètres, tout va de travers. |
En PHP, une fonction aura la forme suivante : function Nom_de_la_fonction (argument_1, argument_2) { instruction_1; } Le mot function est un mot réservé de PHP. Il indique à l'interpréteur PHP que tout ce qui suit est une fonction qui portera le nom Nom_de_la_fonction. Nom_de_la_fonction, est le nom que le programmeur aura donné à sa fonction. Les contraintes de nommage des fonctions sont les mêmes que celles qui régissent les noms de variables. Là encore, il est raisonnable de donner aux fonctions des noms représentatifs des tâches qu'elles accomplissent. (argument_1, argument_2)
entre parenthèses, représentent les paramètres
(arguments) que l'on doit transmettre à la fonction si celle-ci
est programmée pour travailler à partir de paramètres
transmis. Cas de l'ouvrier numéro deux des généralités.
Les parenthèses sont obligatoires. L'accolade ouvrante "{"
(obtenu en maintenant appuyé la touche "Alt Gr" du clavier et
en appuyant sur la touche "4" en haut du clavier, pas sur le
pavé numérique), signifie à l'interpréteur
le début de la zone des instructions dans la fonction.
instruction_1; L'accolade fermante "}"
(obtenu en maintenant appuyé la touche "Alt Gr" du clavier et
en appuyant sur la touche "+" en haut du clavier, pas sur le
pavé numérique), signifie à l'interpréteur
la fin de la fonction en question. Là encore, ne pas oublier
de fermer la fonction par une accolade fermante. Sans quoi, bonjour
les dégâts... |
Emplacement des fonctions dans le programme
Dans le programme, les fonctions seront toujours entre les deux balises
: "<?php" et "?>".
Comme ci-dessous : <?php Emplacement des fonctions ?> Si bien que notre squelette de page HTML avec fonctions PHP, prendra la forme suivante : <html> <head> <?php
// début des
fonctions instruction_1; } ?> </head> <body> </body> |
Vous avez remarqué que les fonctions s'ouvrent par "{"
et se ferment par "}". Et aussi
que c'est EXTREMEMENT IMPORTANT de ne pas les oublier. Alors à
ce sujet, un bon conseil : dès que vous ouvrez une fonction en
tapant "{", fermez-la immédiatement
par "}" après avoir passé
quelques lignes. function Nom_de_la_fonction (argument_1, argument_2) { // début de fonction } // fin de fonction Car si votre fonction comporte (comme c'est souvent le cas) plusieurs
pages d'instructions, et que vous écriviez plusieurs fonctions
à la suite les unes des autres (ce qui est aussi souvent le cas),
vous aurez du mal à faire la différrence entre les accolades
fermantes des tests, des boucles, ou des autres fonctions. |
Ce cours est enseigné par Philippe
Médan
dans le cadre de la formation des professionnels de l'INTERNET.
au CREFAC
, 14 rue Scandicci, 93000 Pantin. Tél. : 01 48 46 51 99
au GITA-GRETA , Lycée
Technologique Diderot 61, rue David D'Angers 75019 Paris Tél. : 01
40 40 36 27
au CESI à l'Ecole
des ingénieurs, 116 Av Aristide Briand, BP 57, 92224 Bagneux CEDEX
Tél. : 01 45 36 70 00
© Philippe Médan 1999-2003. Tous droits de reproduction réservés pour tous pays.