La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Ecole ESIAM1 Langage PHP : Chapitre 1 Pr. Aissam MESRAR.

Présentations similaires


Présentation au sujet: "Ecole ESIAM1 Langage PHP : Chapitre 1 Pr. Aissam MESRAR."— Transcription de la présentation:

1 Ecole ESIAM1 Langage PHP : Chapitre 1 Pr. Aissam MESRAR

2 Ecole ESIAM2 Introduction Eléments de base du langage PHP Fonctions Tableaux Formulaires PHP et MySQL Cookies Sessions Expressions régulières Plan général du cours

3 Ecole ESIAM3 Plan Introduction Introduction Eléments de base du langage PHP Eléments de base du langage PHP Fonctions Fonctions

4 Ecole ESIAM4 Introduction

5 5 Schéma statique du web P1 PnP3P2 Réseau Serveur Client Demande page 2 Le serveur abrite un certain nombre de pages web statiques que les clients peuvent consulter à nimporte quel moment Le résultat de consultation dune page sera le même chez tous les clients et à tout moment

6 Ecole ESIAM6 Limites du Schéma statique du web P1 PnP3P2 Réseau Serveur Client Peut-on réaliser un site web qui diffuse les infos instantanées avec des pages web statiques ? Peut–on réaliser un site web qui donne les prévisions météorologique dans toutes les villes du monde ? Requête : Météo de la ville de Fès le 10 Mars 2006 à 15h

7 Ecole ESIAM7 Schéma statique non convenable Schéma statique non convenable Impossible de prévoir des pages statiques instantanées, Impossible de prévoir des pages statiques instantanées, On ne sait pas à quel instant linfo sera mise à jour, cest aléatoire. On ne sait pas à quel instant linfo sera mise à jour, cest aléatoire. Difficile de prévoir des pages web pour chaque ville et à nimporte quelle date Difficile de prévoir des pages web pour chaque ville et à nimporte quelle date Web dynamique et interactif Limites du Schéma statique du web

8 Ecole ESIAM8 Web dynamique et interactif P1 PnP3P2 Réseau Serveur Client Demande page 2 Les pages web sur le serveur sont dynamiques Le résultat de consultation dune page peut changer dun moment à lautre pour le même client ou clients différents La mise à jour de la page ne dépend pas des clients Le résultat de consultation dune page peut changer selon les critères du client (formulaire) Après un moment

9 Ecole ESIAM9 Web dynamique et interactif Moteur PHP Moteur PHP Page web générée sur le serveur à la demande Page web générée sur le serveur à la demande Critères du client (formulaires,…) Critères du client (formulaires,…) Interaction avec des fichiers ou des Bases de Données Interaction avec des fichiers ou des Bases de Données

10 Ecole ESIAM10 Web dynamique et interactif P1.html Réseau Serveur Client Demande p1.html La page p1.html a été envoyée au client sans le moindre traitement P2.php P3.php Pn.html P1.html Moteur PHP

11 Ecole ESIAM11 Web dynamique et interactif P1.html Réseau Serveur Client Demande p2.php Moteur PHP P2.php P3.php Pn.html P2.html La page p2.php est traitée (interprétée) par le Moteur PHP Le résultat de ce traitement (p2.html) est envoyé au client La page p2.html nest pas stockée chez le serveur

12 Ecole ESIAM12 Web dynamique et interactif Autres moteurs Autres moteurs CGI Common Gateway Interface CGI Common Gateway Interface ASP Active Server Pages ASP Active Server Pages JSP Java Server Pages JSP Java Server Pages CFM Cold Fusion Macromédia CFM Cold Fusion Macromédia PERL PERL

13 Ecole ESIAM13 Langages compilés/Interprétés Langages interprétés Langages interprétés PHP, Perl, Python, JAVA, JavaScript PHP, Perl, Python, JAVA, JavaScript Langages compilés Langages compilés C, C++, JAVA, Pascal C, C++, JAVA, Pascal

14 Ecole ESIAM14 Langages compilés/Interprétés Langages compilés/Interprétés Langages compilés Langages compilés Avantages Avantages Conversion en binaire : 1e seule fois Conversion en binaire : 1e seule fois Plus rapide Plus rapide Inconvénients Inconvénients Incompatibilité / plates_formes Incompatibilité / plates_formes

15 Ecole ESIAM15 Langages compilés/Interprétés Langages compilés/Interprétés Langages interprétés Langages interprétés Avantages Avantages Portabilité Portabilité Inconvénients Inconvénients Relativement lent Relativement lent Code source divulgué Code source divulgué Script : un programme écrit dans un langage interprété Script : un programme écrit dans un langage interprété

16 Ecole ESIAM16 Domaines dapplication des langages PHP, ASP, JSP,CFM : WEB PHP, ASP, JSP,CFM : WEB C : Applications Systèmes C : Applications Systèmes JAVA : Applications pour systèmes embarqués (tél portable, carte à puce) JAVA : Applications pour systèmes embarqués (tél portable, carte à puce) PERL : Administration système PERL : Administration système C++ : Applications avec interfaces graphiques C++ : Applications avec interfaces graphiques

17 Ecole ESIAM17 Performances des langages Un langage est performant dans son domaine dapplication. Un langage est performant dans son domaine dapplication. Pour un même PB : Pour un même PB : 10 lignes de codes ( langage i) 300 lignes (langage j)

18 Ecole ESIAM18 PHP : Raisons de succès Langage interprété conçu dès son origine pour le web Langage interprété conçu dès son origine pour le web Intégré avec lHTML Intégré avec lHTML Dans le même fichier, on peut trouver du code HTML et PHP Dans le même fichier, on peut trouver du code HTML et PHP

19 Ecole ESIAM19 PHP : Raisons de succès Performances Performances Rapidité Rapidité Stabilité : ne plante pas Stabilité : ne plante pas Scalabilité : comportement normal avec un nombre important de visiteurs Scalabilité : comportement normal avec un nombre important de visiteurs Sécurité : pas de défaillance Sécurité : pas de défaillance Sécurité de PHP Sécurité dapplication écrite en PHP Sécurité de PHP Sécurité dapplication écrite en PHP

20 Ecole ESIAM20 PHP : Raisons de succès Open source Open source Projet planétaire (meilleurs compétences) Projet planétaire (meilleurs compétences) Gratuit Gratuit Bibliothèque riche de scripts sources gratuits sur le web Bibliothèque riche de scripts sources gratuits sur le web Portabilité Portabilité Toutes les plates-formes (matérielles et logicielles) disposent dinterpréteur PHP Toutes les plates-formes (matérielles et logicielles) disposent dinterpréteur PHP Serveur web : Apache, IIS, AOL server, Roxen Serveur web : Apache, IIS, AOL server, Roxen Environnement préféré : Apache/Linux Environnement préféré : Apache/Linux Apache : le plus utilisé (yahoo, google) Apache : le plus utilisé (yahoo, google) Linux : deuxième système dexploitation après Windows Linux : deuxième système dexploitation après Windows

21 Ecole ESIAM21 Concurrents de PHP : ASP Avantages Avantages Compatibilité avec les outils Microsoft (IIS,Frontpage, Visuel Studio, Access, SQL Server) Compatibilité avec les outils Microsoft (IIS,Frontpage, Visuel Studio, Access, SQL Server) Outils avec interface simple : Pas besoin dêtre ingénieur système pour administrer le serveur web Outils avec interface simple : Pas besoin dêtre ingénieur système pour administrer le serveur web Inconvénients Inconvénients Limité au serveur IIS Limité au serveur IIS IIS : Pb de sécurité IIS : Pb de sécurité Logiciel payant, de plus, il faut acheter tous les outils accompagnants Logiciel payant, de plus, il faut acheter tous les outils accompagnants

22 Ecole ESIAM22 Concurrents de PHP : JSP Avantages Avantages Utilise un langage totalement Orienté Objets Utilise un langage totalement Orienté Objets Portabilité (JAVA) Portabilité (JAVA) Meilleure sécurité Meilleure sécurité Inconvénients Inconvénients Relativement difficile (il faut maîtriser Java) Relativement difficile (il faut maîtriser Java) Nécessite beaucoup de ressources (JVM ) Nécessite beaucoup de ressources (JVM )

23 Ecole ESIAM23 Concurrents de PHP : Cold Fusion Macromédia Avantages Avantages Environnement de développement central intégrant tous les outils Environnement de développement central intégrant tous les outils Interface graphique simple : facile pour les débutants Interface graphique simple : facile pour les débutants Inconvénients Inconvénients Langage lourd, mal conçu, évolue lentement ne convient pas aux développeurs initiés Langage lourd, mal conçu, évolue lentement ne convient pas aux développeurs initiés Hébergeurs CFM : Pas nombreux et payants Hébergeurs CFM : Pas nombreux et payants Environnement payant Environnement payant

24 Ecole ESIAM24 Concurrents de PHP : PERL Avantages Avantages PERL : vieux bibliothèque dextension très riche PERL : vieux bibliothèque dextension très riche Open source : langage gratuit Open source : langage gratuit Inconvénients Inconvénients Le web nétait pas lobjectif du PERL à lorigine Le web nétait pas lobjectif du PERL à lorigine Installation sur machine cliente relativement compliquée Installation sur machine cliente relativement compliquée

25 Ecole ESIAM25 PHP : Historique Créé en 1994 par Rasmus Lerdorf pour conserver la trace des utilisateurs venus consulter son CV Créé en 1994 par Rasmus Lerdorf pour conserver la trace des utilisateurs venus consulter son CV PHP signifie alors Personal Home Page PHP signifie alors Personal Home Page Version 2.0 en 1995 Version 2.0 en 1995 Récupération de données soumises par Formulaire Récupération de données soumises par Formulaire Interfaçage avec les SGBD Interfaçage avec les SGBD Possibilité d'effectuer des calculs mathématiques Possibilité d'effectuer des calculs mathématiques

26 Ecole ESIAM26 PHP : Historique 1996 : sites Web 1996 : sites Web moteur Zend : + de performances, + de bibliothèques moteur Zend : + de performances, + de bibliothèques Zend provient des noms de ses concepteurs : Andi Gutmans et Zeev Suraski Zend provient des noms de ses concepteurs : Andi Gutmans et Zeev Suraski sites Web sites Web version 3.0 : + d'extensions, + d'interfaçage, version 3.0 : + d'extensions, + d'interfaçage, syntaxe objet syntaxe objet PHP signifie : PHP Hypertext Prepocessor PHP signifie : PHP Hypertext Prepocessor

27 Ecole ESIAM27 PHP : Historique 1999 : sites Web 1999 : sites Web 2000 : version 4.0, basée sur le moteur Zend (+de sécurité, + de performances) 2000 : version 4.0, basée sur le moteur Zend (+de sécurité, + de performances) 2001 : sites Web 2001 : sites Web 2003 : versions et 5.0B : versions et 5.0B2 On estime que 20% des domaines d'Internet utilisent PHP On estime que 20% des domaines d'Internet utilisent PHP 2005: version 5 Orienté Objet 2005: version 5 Orienté Objet

28 Ecole ESIAM28 Eléments de base de PHP

29 Ecole ESIAM29 Structure dun script PHP Code PHP entre les balises Code PHP entre les balises Syntaxe très proche du langage C et C++ Syntaxe très proche du langage C et C++ Sensible à la casse Sensible à la casse fait la différence entre minuscule et majuscule fait la différence entre minuscule et majuscule Chaque instruction se termine par un point virgule : ; Chaque instruction se termine par un point virgule : ; Exemple : simple.php Exemple : simple.php print est une fonction prédéfinie qui affiche son paramètre

30 Ecole ESIAM30 Génération de page à partir dun script Moteur PHP …. ………. ……..

31 Ecole ESIAM31 Structure dun fichier PHP Possibilité dintégrer un script avec du code HTML dans le même fichier (extension.php,.php3,.phtml) Possibilité dintégrer un script avec du code HTML dans le même fichier (extension.php,.php3,.phtml) Code HTML Code HTML Moteur PHP …. ………. ……..

32 Ecole ESIAM32 Structure dun fichier PHP Possibilité dintégrer plusieurs scripts dans le même fichier Possibilité dintégrer plusieurs scripts dans le même fichier Exemple : plusieurs_scripts.php Exemple : plusieurs_scripts.php

33 Ecole ESIAM33 Commentaire Trois manières décrire le commentaire Trois manières décrire le commentaire // Commentaire de ligne // Commentaire de ligne #Commentaire de ligne #Commentaire de ligne /* commentaire sur /* commentaire sur plusieurs lignes */ plusieurs lignes */

34 Ecole ESIAM34 Types de données Types de base prédéfinis : Types de base prédéfinis : Numérique Numérique Entier Entier Réels Réels Chaînes de caractères Chaînes de caractères Booléen Booléen Défini implicitement avec des expressions numériques ou/et des chaînes de caractères Défini implicitement avec des expressions numériques ou/et des chaînes de caractères

35 Ecole ESIAM35 Types de données Types Numériques Types Numériques Entiers Entiers Exemples : Exemples : 4, -6, 102 4, -6, 102 Réels Réels Exemples : Exemples : 10.25, , Opérateurs Opérateurs Opérateurs arithmétiques : Opérateurs arithmétiques :+,-,*,/,% Opérateurs dincrémentation/ decrémentation : Opérateurs dincrémentation/ decrémentation :++,--

36 Ecole ESIAM36 Types de données Chaînes de caractères Chaînes de caractères Suite de caractères délimitée par " " ou Suite de caractères délimitée par " " ou Exemples : Exemples : "bonjour" ou bonjour "bonjour" ou bonjour Concaténation des chaînes de caractère : opérateur. Concaténation des chaînes de caractère : opérateur. "bonjour ". "ami" équivalent à "bonjour ami" "bonjour ". "ami" équivalent à "bonjour ami"

37 Ecole ESIAM37 Types de données Type booléen Type booléen Nest pas défini explicitement Nest pas défini explicitement Cas particulier des types numériques et chaînes de caractères Cas particulier des types numériques et chaînes de caractères Convention Convention Vrai : de 0 (numérique) ou non vide (chaîne de caractère) Vrai : de 0 (numérique) ou non vide (chaîne de caractère) Faux : =0 (numérique) ou vide (chaîne d caractère) Faux : =0 (numérique) ou vide (chaîne d caractère) Opérateurs Opérateurs Opérateurs de comparaison Opérateurs de comparaison ==, !=,>,>=,,>=,<,<= Opérateurs logiques Opérateurs logiques &&, and, ||, or, &&, and, ||, or,

38 Ecole ESIAM38 Identifiants Identifiant de variables ou de constantes est une suite de caractères qui : Identifiant de variables ou de constantes est une suite de caractères qui : Ne contient pas despace Ne contient pas despace Commence par une lettre ou le caractère souligné _ Commence par une lettre ou le caractère souligné _ Différent des mots clés Différent des mots clés Exemples Exemples Nom, n1, _prix, … Nom, n1, _prix, … 2n, prix ttc, define 2n, prix ttc, define

39 Ecole ESIAM39 Constantes Objets dont la valeur ne change pas au cours de lexécution du script Objets dont la valeur ne change pas au cours de lexécution du script Déclaration Déclaration define("nom_constante","valeur"); define("nom_constante","valeur"); Exemples Exemples define("PI",3.14); define("PI",3.14); define("Langue","Français"); define("Langue","Français");

40 Ecole ESIAM40 Variables Pas besoin de déclaration explicite Pas besoin de déclaration explicite La variable est précédée par le caractère $ lors de lutilisation La variable est précédée par le caractère $ lors de lutilisation Exemple Exemple $a=10; print($a); $a=10; print($a);

41 Ecole ESIAM41 Variables La variable peut changer de type au cours de lexécution La variable peut changer de type au cours de lexécution Exemple: Exemple:$a=10; print ($a); $a="bonjour";Print($a); Tester linitialisation dune variable Tester linitialisation dune variable Fonctions isset() et empty() Fonctions isset() et empty()

42 Ecole ESIAM42 Expressions Expressions numériques Expressions numériquesExemple$a=10;$x=2.67;$b=$a+5;$b++;$c=($a+$b)*$x;

43 Ecole ESIAM43 Expressions Expressions de chaînes de caractères Expressions de chaînes de caractères Différence entre " " et : Différence entre " " et : entre " " les variables seront remplacées par leurs valeurs entre " " les variables seront remplacées par leurs valeurs $b=" ami" ; $a="bonjour $b" ; $b=" ami" ; $a="bonjour $b" ; $a sera bonjour ami Entre les variables dans la chaîne ne sont pas interprétées Entre les variables dans la chaîne ne sont pas interprétées $b=" ami" ; $a=bonjour $b ; $b=" ami" ; $a=bonjour $b ; $a sera bonjour $b

44 Ecole ESIAM44 Expressions Expressions de chaînes de caractères Expressions de chaînes de caractères Concaténation des chaînes : opérateur point. Concaténation des chaînes : opérateur point. Exemple Exemple $a="bonjour " ; $b=" ami " ; $a="bonjour " ; $b=" ami " ; $c=$a.$b; $c=$a.$b; $c sera "bonjour ami" $c sera "bonjour ami"

45 Ecole ESIAM45 Tests

46 Ecole ESIAM46 Test Forme 1 Forme 1 Permet de choisir entre deux alternatives selon la valeur dune expression logique Permet de choisir entre deux alternatives selon la valeur dune expression logique Notation Notation if(exp_log) bloc1elsebloc2 Où bloc1 et bloc2 sont des suites dinstructions Exemple : test.php Exemple : test.php

47 Ecole ESIAM47 Test Forme 2 Forme 2 Permet dexécuter une seule alternative si une condition est vérifiée. Dans ce cas la deuxième alternative nexiste pas. Permet dexécuter une seule alternative si une condition est vérifiée. Dans ce cas la deuxième alternative nexiste pas. Notation Notationif(exp_log)bloc1

48 Ecole ESIAM48 Test Imbrication de if/else Imbrication de if/elseif(exp1)if(exp11)bloc11elsebloc12elseif(exp21)bloc21elsebloc22

49 Ecole ESIAM49 Test Imbrication de if/else : 2 ème notation Imbrication de if/else : 2 ème notationif(exp1)if(exp11)bloc11elsebloc12 elseif(exp21) bloc21elsebloc22

50 Ecole ESIAM50 Choix multiple Permet de choisir une alternative parmi plusieurs Permet de choisir une alternative parmi plusieurs Cest la généralisation du test Cest la généralisation du test Notation Notation switch(exp) { case val1 : bloc1; case val2 : bloc2; … case valn : blocn; [default : bloc_dfaut;] } Un bloci est exécuté si exp == vali Un bloci est exécuté si exp == vali default est optionnel default est optionnel Exemple :switch.php Exemple :switch.php

51 Ecole ESIAM51 Les boucles

52 Ecole ESIAM52 Les boucles Permettent de répéter lexécution dun ensemble dinstructions plusieurs fois Permettent de répéter lexécution dun ensemble dinstructions plusieurs fois Trois types de boucles Trois types de boucles while while do.. while do.. while for for

53 Ecole ESIAM53 Les boucles Boucle while Boucle while Notation : Notation : while (exp_log) {Bloc}

54 Ecole ESIAM54 Les boucles Boucle do … while Boucle do … while Notation : Notation :do{Bloc} while (exp_log);

55 Ecole ESIAM55 Les boucles Boucle for Boucle for Notation : Notation :for(init;exp_log;int_fin){Bloc}

56 Ecole ESIAM56 Les boucles Exemple : boucle.php

57 Ecole ESIAM57 Les boucles Instruction break/continue Instruction break/continue break break Quitte la boucle immédiatement Quitte la boucle immédiatement Avortement de la boucle Avortement de la boucle continue continue Arrête litération en cours et passe à litération suivante Arrête litération en cours et passe à litération suivante Avortement de litération en cours Avortement de litération en cours Toutes les deux doivent être protégées par une condition Toutes les deux doivent être protégées par une condition

58 Ecole ESIAM58 Fonctions

59 Ecole ESIAM59 Pourquoi les fonctions ? Modularité Modularité Diviser le problème à résoudre en petits Pbs et résoudre chacun deux par un module (facile à composer), appelé fonction pour la plupart des langages Réutilisabilité Réutilisabilité Possibilité de réutiliser certaines fonctions dans un autre problème MAJ facile MAJ facile La mise à jour dune fonction naffecte pas les autres fonctions

60 Ecole ESIAM60 Fonctions Déclaration Déclaration function nom_fonction($param1,$param2,…) { Corps de la fonction } $Param1, $param2, … sont dits paramètres formels de la fonction Appel de la fonction Appel de la fonctionnom_fonction($eff1,$eff2,…) $eff1,$eff2,… sont dits paramètres effectifs

61 Ecole ESIAM61 Fonctions Fonction qui retourne une valeur Fonction qui retourne une valeur Linstruction return dans le corps de la fonction permet de retourner une valeur et de quitter la fonction. Linstruction return dans le corps de la fonction permet de retourner une valeur et de quitter la fonction. function nom_fonction($param1,$param2,…) { Corps de la fonction return($resultat);} $Param1, $param2, … sont dits paramètres formels de la fonction Appel de la fonction Appel de la fonction $r = nom_fonction($eff1,$eff2,…);

62 Ecole ESIAM62 Fonctions Exemple : fonction1.php Exemple : fonction1.php Exemple fonction factorielle fonction factorielle

63 Ecole ESIAM63 Fonctions Utilisation des fonctions Utilisation des fonctions Une fonction définie dans un script peut être utilisée dans les autres scripts du même fichier. Une fonction définie dans un script peut être utilisée dans les autres scripts du même fichier. Exemple : fonction2.php Exemple : fonction2.php

64 Ecole ESIAM64 Fonctions Modes de passage des paramètres Modes de passage des paramètres Par valeur Par valeur Par référence Par référence Par référence ponctuelle Par référence ponctuelle

65 Ecole ESIAM65 Fonctions Passage Par valeur Passage Par valeur Mode par défaut Mode par défaut Les paramètres effectifs gardent leur valeurs après lappel de la fonction, même si cette dernière les modifie à lintérieur de son corps. Les paramètres effectifs gardent leur valeurs après lappel de la fonction, même si cette dernière les modifie à lintérieur de son corps. => la fonction travaille sur une copie des paramètres

66 Ecole ESIAM66 Fonctions Exemple : fonction_pass_val.php

67 Ecole ESIAM67 Fonctions Passage par référence Passage par référence Le changement dun paramètre effectif sera perceptible de lextérieur. Le changement dun paramètre effectif sera perceptible de lextérieur. => la fonction travaille sur le paramètre et non sur sa copie Notation : précéder le paramètre formel par & Notation : précéder le paramètre formel par & function nom_fonction(&$param1,&$param2,…)

68 Ecole ESIAM68 Fonctions Exemple :fonction_passage_ref.php Exemple :fonction_passage_ref.php

69 Ecole ESIAM69 Fonctions Passage par référence ponctuel Passage par référence ponctuel Lors de la définition de la fonction les paramètres sont passés par valeur Lors de la définition de la fonction les paramètres sont passés par valeur Lors de lappel de la fonction les paramètres effectifs sont précédés par & Lors de lappel de la fonction les paramètres effectifs sont précédés par & Attention : Risque dincohérence Attention : Risque dincohérence

70 Ecole ESIAM70 Fonctions Exemple : fonction_passage_ponc.php Exemple : fonction_passage_ponc.php fonction factorielle fonction factorielle

71 Ecole ESIAM71 Fonctions Paramètres par défaut Paramètres par défaut Attribuer une valeur par défaut à un (des) paramètre(s) omis lors de lappel dune fonction Attribuer une valeur par défaut à un (des) paramètre(s) omis lors de lappel dune fonction Notation : affecter la valeur par défaut au paramètre formel Notation : affecter la valeur par défaut au paramètre formel function nom_fonction($param1,$param2 = val ) function nom_fonction($param1,$param2 = val ) Le 2 ème paramètre a une valeur par défaut Le 2 ème paramètre a une valeur par défaut Appel de la fonction Appel de la fonctionnom_fonction($eff);nom_fonction($eff1,$eff2);

72 Ecole ESIAM72 Fonctions Paramètres par défaut Paramètres par défaut Exemple : fonction_par_def1.php Exemple : fonction_par_def1.php

73 Ecole ESIAM73 Fonctions Paramètres par défaut : Attention ! Paramètres par défaut : Attention ! Seuls les derniers paramètres peuvent avoir des valeurs par défaut Seuls les derniers paramètres peuvent avoir des valeurs par défaut Exemple : fonc_par_def2.php Exemple : fonc_par_def2.php function f_ambigue($p1=0, $p2, $p3=5) function f_ambigue($p1=0, $p2, $p3=5) Erreur lors de linterprétation Erreur lors de linterprétation Ambiguité lors de lappel de la fonction Ambiguité lors de lappel de la fonction Comment interpréter f_ambigue(1,5) ? f_ambigue(0,1,5) ou f_ambigue(1,5,5)

74 Ecole ESIAM74 Fonctions Nombre de paramètres indéfini Nombre de paramètres indéfini Dans ce cas les paramètres sont extraits par deux fonctions : Dans ce cas les paramètres sont extraits par deux fonctions : func_num_arg() : retourne le nombre de paramètres passés à la fonction func_num_arg() : retourne le nombre de paramètres passés à la fonction func_get_arg ($i) : retourne le paramètre dindice $i dans la liste des paramètres func_get_arg ($i) : retourne le paramètre dindice $i dans la liste des paramètres Le premier paramètre a lindice 0

75 Ecole ESIAM75 Fonctions Nombre de paramètres indéfini Nombre de paramètres indéfini Exemple : fonction_par_indef.php Exemple : fonction_par_indef.php afficher les paramètres reçus par une fonction afficher les paramètres reçus par une fonction

76 Ecole ESIAM76 Fonctions Fonctions récursives Fonctions récursives Dans le corps dune fonction on peut trouver un appel à elle- même Dans le corps dune fonction on peut trouver un appel à elle- même Exemple : fonction_recursive.php Exemple : fonction_recursive.php factorielle factorielle

77 Ecole ESIAM77 Fonctions Variables globales Variables globales Les paramètres locales à une fonction ne sont pas visibles de lextérieur Les paramètres locales à une fonction ne sont pas visibles de lextérieur Une variable globale peut être accédée ou modifiée à partir de nimporte quelle fonction du même fichier Une variable globale peut être accédée ou modifiée à partir de nimporte quelle fonction du même fichier Pour utiliser une variable globale (déclarée à lextérieur de la fonction) nous devons la déclarer par la ligne suivante : Pour utiliser une variable globale (déclarée à lextérieur de la fonction) nous devons la déclarer par la ligne suivante : global $nom_var; Exemple : fonction_var_global.php Exemple : fonction_var_global.php


Télécharger ppt "Ecole ESIAM1 Langage PHP : Chapitre 1 Pr. Aissam MESRAR."

Présentations similaires


Annonces Google