PHP Emmanuel Nauer Université de Metz.

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Novembre 2005 – Michel Desconnets PHP : théorie Objectif : introduire les concepts globaux permettant d'aborder la programmation en PHP.
Conception de Site Webs dynamiques Cours 6
Conception de Site Webs dynamiques Cours 5
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 9 Patrick Reuter.
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 8 Patrick Reuter.
TOUQUET Arnaud ▪ GI05 BLONDEEL Igor ▪ GM05
Création de Pages Web Dynamiques
Exposé de Système - Informatique et Réseau
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
TRANSFER Alger – Serveur Web Nicolas Larrousse Septembre Petit historique du Worl Wide Web Notion dHypertexte Extension à internet par Tim Berners.
1 Javascript Merci à Emmanuel Nauer. 2 Javascript Quid ? Langage de programmation lié à HTML. Code Javascript intégré aux pages HTML. Code interprété
C.
Objectifs Présentation et utilisation du langage PERL
PHP ou le web dynamique. généralités écrit par Ramsus Lerdorf en 1994 pour gérer sa page perso actuellement stable en version 5 (5.3) et la version 6.
TP 3-4 BD21.
Révision Avant lintra – Architecture de lordinateur, les composants, le fonctionnement, codage – Système dexploitation: organisation des données (fichier),
Common Gateway Interface
CPI/BTS 2 Programmation Web Introduction au PHP
HELHA informatique de gestion
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Les instructions PHP pour l'accès à une base de données MySql
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Programmation multimédia 3
Introduction à la programmation (Java)
Introduction au langage PHP Réfs : Chap 3 p 49. Présentation PHP (Hypertext PreProcessor) est un langage de développement Web créé en 1994 par Rasmus.
Principes de programmation
IFT 6800 Atelier en Technologies d’information
Web dynamique PhP + MySQL AYARI Mejdi 2006
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
PhP-MySQL Pagora 2012/2013 CTD 2. Première balise -Plusieurs types de balise - - … -Partout !
L3 Module Libre Année universitaire Initiation à la Bioinformatique Jean-Michel RICHER.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
Animateur : Med HAIJOUBI
PHP 1° PARTIE : LES BASES © BTS IRIS 2002 [tv] Présentation Historique
Javascript 1° PARTIE : LES BASES
PHP & My SQL.
Introduction au langage PHP Licence Pro Cours Internet / Intranet Utilité Historique Exemples Fonctions PHP Classes.
Département Technologie de l’Information et de la Communication
PHP 5° PARTIE : LES COOKIES
JavaScript.
Cours de programmation web
Créer des packages.
Un survol du language C.
PHP & MySQL Master1 ICD Claire Jacquot Emilie Hot le 24/10/2006.
T ECHNOLOGIES WEB CHAPITRE IV : L E LANGAGE PHP 1 Mme Amani JARRAYA & Mohamed MOHSEN.
 Syntaxe du langage PHP
 Requêtes MySQL en PHP Introduction
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
S'initier au HTML et aux feuilles de style CSS Cours 5.
PHP 6° PARTIE : LES SESSIONS 1.Introduction 2.Identificateur de session 3.Variables de session 4.Client / Serveur 5.Principe 6.Ouverture de session 7.Enregistrement.
Module : Pages Web Dynamiques (Production Électronique Avancée)
S'initier au HTML et aux feuilles de style CSS Cours 5.
 Formulaires HTML : traiter les entrées utilisateur
1 PHP 5 Notions fondamentales (niveau 1 – cours #2) Formation continue – Cégep de Sainte-Foy.
Initiation au JavaScript
Cours de :.
Initiation au web dynamique Licence Professionnelle.
Introduction à PHP TOURNADRE Guillaume - Informatique Réseaux URL :
Séance /10/2005 CSS et Dreamweaver. CSS : principes Cascading Style Sheet = feuille de style en cascade Norme du W3C :
Module 133 Développer des applications Web Introduction à PHP.
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Scripts et fonctions Instructions de contrôle
1.1: notions de bases de l’informatique
Initiation aux bases de données et à la programmation événementielle
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Transcription de la présentation:

PHP Emmanuel Nauer Université de Metz

Université de Metz - Emmanuel Nauer - 2001 Plan Introduction Pages dynamiques / statiques Historique Description générale Principes PHP vs. langages de script, langage C, … la concurrence Le langage PHP Syntaxe, constantes, variables, structure de contrôle, interfaçage avec les bases de données, … Conclusion Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Introduction Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Introduction Différents types de pages web Pages statiques Page HTML (langage de présentation de documents) fixe  Contenu indépendant d’un quelconque paramètre Utilisation du protocole HTTP pour une communication client/serveur Fichier interprété — pour l’affichage — par une ressource logicielle (Internet Explorer, Netscape, …) sur le poste client. Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Introduction Échange de pages web statiques Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Introduction Différents types de pages web Pages dynamiques : Page générée à la demande sur le serveur. PHP utilise un moteur qui génère une page HTML en fonction d’un fichier textuel contenant une liste de directives (script). Le résultat (page HTML) dépend, dans la plupart des cas, d’un ensemble de paramètres. Facteurs impliqués dans l’interprétation Côté client : passation de variables par formulaire, URL, ou cookies. Coté serveur : connexion avec des bases de données via l’exécution de requêtes SQL  Exécution du code en fonction des valeurs retournées. Université de Metz - Emmanuel Nauer - 2001

Exemple d'introduction <HTML> <HEAD> <TITLE>Exemple PHP</TITLE> </HEAD> <BODY> <?php echo "Bonjour, je suis un script PHP!"; ?> </BODY> </HTML> Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Moteur Quid ? Ressource logicielle qui effectue des opérations bien précises. Dans le cadre de PHP : il s’agit d’interpréter les directives données dans les scripts PHP. le moteur PHP est couplé au serveur web (HTTP). possibilité d’interagir avec d’autres moteurs ou serveurs : MySQL pour la gestion de bases de données, par exemple. Exemple typique d’une interaction avec un serveur web Problème à résoudre de type achat en ligne. Acquisition (sur le web) d’un jouet pour le bain. Connexion au site ParadisDuJouet.com La page d’accueil est la même pour tous les internautes. Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Moteur Étapes de l’achat en ligne Renseignements des facteurs relatifs à mon achat Remplissage du formulaire avec une demande de liste des canards pour le bain Validation du formulaire Envoi des paramètres au serveur Traitement de la demande par le serveur Réception par le serveur des valeurs et du script à exécuter Connexion (dans le script) à la base de données des produits Exécution d’une requête paramétrée (par la demande) Stockage des résultats en mémoire. Génération d’une page HTML contenant la mise en forme des résultats. Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Moteur Étapes de l’achat en ligne Envoi de la page générée par le serveur vers le client Réception de la page HTML correspondant à la demande liste de références des produits appartenant à la catégorie : canard pour le bain. Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Introduction Échange de pages web dynamiques Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Historique Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Historique 1994 Création de PHP par Rasmus Lerdorf baptisé originellement Personnal Home Page. pour conserver la trace des utilisateurs venant consulter son curriculum vitae en ligne. 1995 Version 2. 0 : Hypertext PreProcessor. Possibilité de : récupérer les données soumises par un formulaire. communiquer avec une base de données. d’effectuer des calculs (fonctions mathématiques) à la volée. Première version publique crédible pour le développement web. Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Historique 1996 Mise en ligne de Supercuts par Clear Inks dans lequel PHP est utilisé pour créer un système de navigation personnalisée. Participation de Zeev Suraski et Andi Gutmans (Zend) au projet, afin de corriger les nombreux bugs existants 15 000 sites web. Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Historique 1997 Moteur d'analyse Zend : + de performances, + de librairies. 50 000 sites web. 1998 Version 3.0 1999 100 000 sites utilisaient le langage PHP. 2001 PHP 3 ou PHP 4. 5 100 000 sites web. Université de Metz - Emmanuel Nauer - 2001

Description et principes de PHP Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 CGI Quid ? Common Gateway Interface. Interface d’accès à des programmes exécutables. Programmes : compilés : langage C, C++, … interprétés : scripts Pers, shell, … Le programme, exécuté par le serveur, génère du code HTML. Création de flux sur le serveur et écriture de chaînes de caractères dans ce flux. Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 CGI Avantages Très rapide. Utilisation du moyen de développement le plus adapté. Inconvénients Sécurité (lié aux accès système). Nécessite une bonne connaissance de programmation (C, Perl, shell, …). Université de Metz - Emmanuel Nauer - 2001

Positionnement de PHP / CGI Langage de programmation orienté vers la génération de code HTML Langage de script qui s'inclue dans les pages HTML. But de PHP Faciliter développement de pages web dynamiques. Fournir un ensemble de fonctions appropriées à ce développement. Programmation en PHP ? = insertion de code PHP dans des documents HTML. Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Syntaxe Passage de HTML à PHP Renommez un fichier .html en .php: il fonctionne ! Balises de script PHP <? ?> <?php ?> <SCRIPT LANGUAGE="php"> </SCRIPT> <% %> Remarques La deuxième est la plus utilisée. Ces balises sont paramétrables (possibilité d'en définir d'autres). Université de Metz - Emmanuel Nauer - 2001

Exemple d'introduction <HEAD> <TITLE>Exemple PHP</TITLE> </HEAD> <BODY> <?php echo "Bonjour, je suis un script PHP!"; ?> </BODY> </HTML> Université de Metz - Emmanuel Nauer - 2001

Positionnement de PHP / CGI Interprétation du code PHP PHP = langage non compilé (pas de fichiers binaires exécutables)  interprété par un moteur PHP. Paramétrage du déclenchement de l'interpréteur Liste d'extensions (en général .php, .php3 ou .php4). Possibilité de paramétrer le déclenchement pour les .html ou .htm. Dans ce cas, il se déclenche dès qu’un fichier .html ou .htm est appelé même s’il ne contient pas de script. Université de Metz - Emmanuel Nauer - 2001

Positionnement de PHP / CGI Fonctionnement de l’interpréteur Dès que l’interpréteur se déclenche, il recherche des balises spécifiques pour reconnaître le code PHP. Zones non PHP  ne sont pas interprétées. L’interpréteur gère : l’accès système sur serveur. la réservation mémoire. Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Zend Quel rapport avec PHP ? PHP lié au developpement du projet Zend à partir de PHP 2.0 (Zeev Suraski et Andi Gutmans). Langage plus généraliste que PHP : il permet de générer quelque soit l’O.S. un fichier à partir d’autres fichiers. L’interpréteur de PHP 4.0 est basé sur celui de Zend. Par rapport à l’interpréteur de PHP 3.0, Zend ajoute des utilitaires (optimiseur de code, gestionnaire de mémoire du serveur). Un compilateur PHP doit sortir et permettra de faire des exécutables à partir de scripts PHP  gain en efficacité ! Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Environnement PHP Systèmes d’exploitation Unix Linux Macintosh Windows 95/98, NT, 2000 Serveurs web Apache. Personnal Web Server. Internet Information Server. Iplanet Web Server. Xitami. Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 La concurrence ASP (Microsoft) Langage basé sur VBScript (Visual Basic). Compatibilité : uniquement avec une plate-forme NT et ses serveurs web : PWS et IIS. Il existe cependant une émulation pour plate forme Linux/ Unix. Uniquement compatible avec ODBC. Exécution du code est lent. Aisé à programmer. Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 La concurrence Perl Langage de script interprété. Compatible NT et Linux / Unix. Réservé à des programmeurs chevronnés. Peu lisible. Moyennement rapide. ColdFusion Uniquement compatible NT. Produit coûteux. Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 La concurrence Atouts de PHP Rapidité Fiabilité Coût (gratuit) Lisibilité du code Temps d’apprentissage faible Portabilité : disponible sur toutes les plate-formes serveurs Installation et gestion simplifiée du serveur Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Le langage PHP Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Syntaxe Très inspiré de C, C++, Perl. Séparateur d'instruction point virgule : ; Commentaires // Sur une ligne comme en C++ /* Sur plusieurs lignes comme en C et C++ */ # Sur une ligne comme en Shell Unix Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Constantes Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Constantes Notation Format : [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* Sensible à la casse Portée globale. Définition define("NOM", "valeur"); <?php define("CONSTANTE", "Hello wold"); echo CONSTANTE; // affiche " Hello wold" echo Constante; // affiche "Constante" ?> ?> Université de Metz - Emmanuel Nauer - 2001

Constantes prédéfinies __FILE__ nom du fichier exécuté. __LINE__ numéro de la ligne exécutée. PHP_VERSION par exemple : 4.0.0. PHP_OS par exemple Linux, SunOS, WIN32, WINNT. TRUE FALSE E_ERROR dénote une erreur. E_WARNING dénote une erreur mais l'exécution continue. E_NOTICE dénote une erreur mais l'exécution continue. E_ALL toutes les E_* rassemblées en une seule Université de Metz - Emmanuel Nauer - 2001

Exemple d’utilisation de __FILE__ et __LINE__ <?php function rapport_erreur($file, $line, $message) { echo "Une erreur est survenue dans le fichier $file à la ligne $line: $message."; } rapport_erreur(__FILE__,__LINE__, "Y a un problème!"); ?> Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Variables Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Variables Notation Signe dollar $ suivi du nom de la variable Format : [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* Sensible à la casse Exemple <?php $var = "Jean"; $Var = "Paul"; echo "$var, $Var"; // affiche "Jean, Paul" $4A='pas encore'; // invalide : commence par un nombre $_4A='pas encore'; // valide : commence par un souligné $maïs='jaune'; // valide; 'ï' est ASCII 239. ?> Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Variables Typage Pas de typage de variables !  Typage automatique lors de l’affectation et des manipulations. Assignation : = Par valeur : option par défaut exemple : $a=32 Par référence : & devant le nom de variable source exemple : $a=&$b Seules les variables nommées peuvent être assignées par référence. Université de Metz - Emmanuel Nauer - 2001

Assignation de variables Exemple <?php $a = 'Pierre'; // assigne la valeur 'Pierre' à $a $b = &$a; // référence $a avec $b $a = "Paul"; // modifie $a… echo $a; echo $b; // $b est aussi modifiée $c = &$b; // assignation valide $d = &(24 * 7); // assignation invalide : référence une expression sans nom function test() { return 25; } $e = &test(); // assignation invalide. ?> Université de Metz - Emmanuel Nauer - 2001

Variables prédéfinies Fonction phpinfo() Quelques une des variables prédéfinies $SERVER_NAME : nom du serveur $REQUEST_METHOD : méthode de requête (GET, HEAD, POST, PUT) $QUERY_STRING : chaîne contenant la requête <HTML> <BODY> <?php phpinfo();?> </BODY> </HTML> Université de Metz - Emmanuel Nauer - 2001

Variables prédéfinies Quelques une des variables prédéfinies $DOCUMENT_ROOT : répertoire d'exécution du script $HTTP_REFERER : adresse de la page d'origine $HTTP_USER_AGENT : type du client (exemple : Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). $REMOTE_ADDR : adresse IP du client $PATH_TRANSLATED : chemin dans le système de fichier $SCRIPT_NAME : nom du script courant $REQUEST_URI : la page demandée ... Université de Metz - Emmanuel Nauer - 2001

Quelques fonctions sur les variables isset($var) Renvoie TRUE si $var contient une valeur sinon renvoie FALSE. unset($var) Détruit $var et libère la mémoire associée. empty($var) Renvoie : TRUE si $var n'est pas définie, ou contient "" ou 0. FALSE sinon. Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Types de données Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Types de données Rappel Langage NON fortement typé. Pas de déclaration de type préalable Décision à l'exécution. Types disponibles entier : int, integer réels : real, double, float chaîne de caractères : string tableau : array objet : object Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Type de données integer entier signé de 32 bits dépassement de capacité  conversion en float. double taille dépendante de la plate-forme en général sur 64 bits : maximum ~1.8e308 précision de 14 décimales Attention à la précision dans les calculs ! boolean TRUE, FALSE <?php $a = 1.234; $a = 1.2e3; $a = 1.44E-02; ?> Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Type de données string Guillemets simples quote ( ' ) : \' antislash ( \ ) : \\ Guillemets doubles variables interprétées nouvelle ligne : \n retour à la ligne : \r tabulation horizontale : \t antislash ( \ ) : \\ caractère $ : \$ Guillemets doubles ( " ) : \" Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Type de données string Syntaxe HereDoc : affectation d'un contenu sur plusieurs lignes. <?php $str = <<<EOD Exemple de chaîne s'étalant sur plusieurs lignes EOD; ?> Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Type de données Casting des variables But : forcer le typage Notation : type entre parenthèses (int), (integer) cast en un entier (real), (double), (float) cast en un réel (string) cast en une chaîne de caractères (array) cast en un tableau (object) cast en un objet Exemple : $pi_arrondi = (int) $pi; Université de Metz - Emmanuel Nauer - 2001

Fonctions liées au type de données Demande du type gettype() Test du type is_long() is_double() is_string() is_array() is_object() Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Opérateurs Université de Metz - Emmanuel Nauer - 2001

Opérateurs arithmétiques Addition $expr1 + $expr2 Soustraction $expr1 - $expr2 Multiplication $expr1 * $expr2 Division $expr1 / $expr2 Modulo $expr1 % $expr2 Université de Metz - Emmanuel Nauer - 2001

Opérateurs sur les chaînes Concaténation $a = "Vive "; $b = $a . "PHP !"; // maintenant $b contient "Vive PHP !" Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Opérateurs binaires ET $a & $b : les bits qui sont à 1 dans $a ET dans $b sont mis à 1. OU $a | $b : les bits qui sont à 1 dans $a OU dans $b sont mis à 1. NON ~ $a : les bits sont inversés <?php $a = 5; // 0000 0101 $b = 12; // 0000 1100 $c = $a & $b; // $c vaut donc 0000 0100 soit 4 $d = $a | $b; // $d vaut donc 0000 1101 soit 13 $e = ~ $a; // $e vaut donc 1111 1010 ?> Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Opérateurs Logiques ET $expr1 && $expr2 $expr1 and $expr2 OU $expr1 || $expr2 $expr1 or $expr2 NON ! expr Université de Metz - Emmanuel Nauer - 2001

Opérateurs de comparaison Syntaxe expr1 OPERATEUR expr2 Comparaisons Égalité : == Diffférence : != Inférieur < Supérieur : > Inférieur ou égal : <= Supérieur ou égal : >= Exemples $a==$b ; $rep!="OUI" ; $total >= 100 ; … Université de Metz - Emmanuel Nauer - 2001

Structures de contrôle Université de Metz - Emmanuel Nauer - 2001

Structures de contrôle Listes if ... elseif ... else … while … do … while … for … foreach … switch … continue … break … Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 if … elseif … else … Syntaxe if (expression) { commandes } [ elseif (expression) { commandes } ...] [ else { commandes } ] Principe Exécution des commandes correspondant à l’expression évaluée à TRUE <?php if ($a > $b) { print " a plus grand que b "; } elseif ($a == $b) { print " a égal b "; } else { print " a plus petit que b "; } ?> Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 while … Syntaxe while (expression) { commandes } Principe Exécution des commandes tant que l’expression, évaluée à chaque début de boucle, est TRUE <?php $i=1; while ($i < 10) { print $i++; // affichage de i // puis incréméntation } ?> Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 do … while … Syntaxe do { commandes } while (expression); Principe Exécution des commandes tant que l’expression, évaluée à chaque fin de boucle, est TRUE <?php $i=1; do { print $i++; // affichage de i // puis incréméntation } while ($i < 10); ?> Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 for … Syntaxe for (expr1; expr2; expr3) { commandes } Principes Les expri sont évaluées (exécutées) de la façon suivante : expr1 : une seule fois, en début de la boucle expr2 : à chaque début d’itération. Si l’évaluation vaut TRUE, les commandes sont exécutées ; Si l’évaluation vaut FALSE, elles ne le sont pas. expr3 : à chaque fin d’itération. Les expri ne sont pas obligatoires ! Si expr2 est omise : évaluation de expr2 à TRUE (boucle infinie). Utilisation possible de break pour gérer l’arrêt de la boucle. Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 for … <?php for($i=1; $i<10; $i++) { print $i; // affichage de i } $i=1; for(;;) { if($i<10; $i++) break; print $i; // affichage de i $i++; // incréméntation de i for($i=1; $i<10; print $i, $i++) ; ?> Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 foreach … (PHP4) 1ère syntaxe foreach(array_expression as $value) { commandes } Principe Exécution des commandes tant que l’expression, évaluée à chaque fin de boucle, est TRUE <?php $i=1; do { print $i++; // affichage de i // puis incréméntation } while ($i < 10); ?> Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 foreach … (PHP4) 1ère syntaxe foreach(array_expression as $key => $value) { commandes } Principe Exécution des commandes tant que l’expression, évaluée à chaque fin de boucle, est TRUE <?php $i=1; do { print $i++; // affichage de i // puis incréméntation } while ($i < 10); ?> Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 break Syntaxe break [valeur]; But Permet de sortir des structures : for while foreach switch L’argument optionnel valeur permet de stopper en une fois l’exécution de plusieurs structures imbriquées. Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 break <?php $i=0; while (++$i) { switch($i) { case 5 : echo "je suis à la moitié\n" ; break ; // sortir du switch case 10 : echo "c’est fini\n" ; break 2; // sortir du switch // et du while default : echo $i; break; } ?> Université de Metz - Emmanuel Nauer - 2001

Université de Metz - Emmanuel Nauer - 2001 Fin Université de Metz - Emmanuel Nauer - 2001