1 / 36

UE 303 Promo. M2 IST-IE 2005/06

UE 303 Promo. M2 IST-IE 2005/06. Architecture trois-tiers : Programmation en PHP/MySQL & Application client-serveur pour la Conception d’un système d'information multimédia. Par : Sahbi SIDHOM MCF. Université Nancy 2 Équipe de recherche SITE – LORIA sahbi.sidhom@loria.fr.

gizi
Download Presentation

UE 303 Promo. M2 IST-IE 2005/06

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UE 303 Promo. M2 IST-IE 2005/06 Architecture trois-tiers : Programmation en PHP/MySQL & Application client-serveur pour la Conception d’un système d'information multimédia Par : Sahbi SIDHOM MCF. Université Nancy 2 Équipe de recherche SITE – LORIA sahbi.sidhom@loria.fr M2. IST-IE (S. Sidhom)

  2. Programmation en PHP/MySQL M2. IST-IE (S. Sidhom)

  3. Objectifs • Architecture et fonctionnement • Structures de base et de contrôle • Fonctions usuelles • Gestion des objets • MySQL et bases de données • Web dynamique M2. IST-IE (S. Sidhom)

  4. I. Architecture et fonctionnement M2. IST-IE (S. Sidhom)

  5. Architecture technique PHP est utilisé conjointement avec : • généralement APACHE comme serveur HTTP • MySQL et/ou Oracle comme SGBD/R (ou aussi PostgreSQL, SQLServer de MS, …) • Linux, BSD, Windows ou MacOS comme système d’exploitation M2. IST-IE (S. Sidhom)

  6. Nombreux connecteurs d’API Capacité de se connecter à la plupart des applications de l’entreprise avec PHP : • Web (HTML, WML, …) • Services reposant sur Soap • API client/serveur : GTK, WUL, … • Ligne de commande • MS office, Adobe, Macromedia Flash, … M2. IST-IE (S. Sidhom)

  7. PHP Fonctionnement de PHP Internet Serveur PHP script Client HTML (navigator) Zend 2 Opcode M2. IST-IE (S. Sidhom)

  8. II. Structures de base et de contrôle M2. IST-IE (S. Sidhom)

  9. Script PHP • Type 1 : <script language= "php"> echo (" Ceci est un script en php ! "); </script> • Type 2 : <?php echo (" Ceci est un script en PHP pour XML/XHTML! "); ?> • Type 3 : <? echo (" Ceci est un script de manière générale"); ?> • Type 4 : <% echo (" Ceci est un script en PHP avec le style ASP ! "); %> M2. IST-IE (S. Sidhom)

  10. Balises propres à PHP M2. IST-IE (S. Sidhom)

  11. Insertion de PHP dans HTML <html> <head> <title>Ma première page en PHP</title> </head> <body> hello ! <BR> Date courante 1: <?php echo "6 janvier 2006"; ?> <BR> Date courante 2: <?php echo date("H:i:s");?> </body> </html> M2. IST-IE (S. Sidhom)

  12. PHP & HTML selon le serveur • Écriture : <HTML> <HEAD> <title>premier pas en PHP</title> </HEAD> <BODY bgcolor="#FFFFFF"> <H1>Essai de script PHP</H1> <?php echo "Bonjour, il est "; echo date("H:i:s"); ?> </BODY> </HTML> • Exécution : M2. IST-IE (S. Sidhom)

  13. Résultat d’exécution : <HTML> <HEAD> <title>premier pas en PHP</title> </HEAD> <BODY bgcolor="#FFFFFF"> <H1>Essai de script PHP</H1> Bonjour, il est 17:05:38 </BODY> </HTML> • Que remarquez-vous ? M2. IST-IE (S. Sidhom)

  14. 1. Syntaxe du langage PHP : Les VARIABLES M2. IST-IE (S. Sidhom)

  15. Définition des Variables • $ma_variable = expression; • attention à la casse ( $a différent de $A ) ; • le nom de la variable commence avec une lettre ou un souligné et est constitué de lettres (aA…), chiffres(012…), souligné(_) ; • pas de déclaration préalable ; M2. IST-IE (S. Sidhom)

  16. Exemples • en PHP3, les variables sont assignées uniquement par valeurs : <?php $reel = 0.3; $entier = 22; $chaine = "bonjour !"; $phrase1 = "bonjour $chaine!"; $phrase2 = 'bonjour $chaine$'; print("un reel : $reel<BR>"); print("un entier : $entier<BR>"); print("une chaine : $chaine<BR>"); print("une phrase : $phrase1<BR>"); print("du bon usage des guillemets : $phrase2"); ?> M2. IST-IE (S. Sidhom)

  17. Alias sur une variable • en PHP, les variables peuvent être assignées par références : elles deviennent un alias sur la variable qu'elles référencent. • Exemple : <?php $chaine1 = "Bonjour"; $chaine2 = &$chaine1; // Référence $chaine1 par $chaine2. $chaine2 = "$chaine2 tout le monde"; print("$chaine1\n$chaine2"); ?> M2. IST-IE (S. Sidhom)

  18. Type • Le type est donné automatiquement : integer, double, string, array, object. • Pour écrire un guillemet dans une chaîne, utiliser \". • Exemple : <?php $chaine = "\"Salut tout le monde\""; echo $chaine; ?> M2. IST-IE (S. Sidhom)

  19. Conversion de type « cast » • intval, strval, doubleval : $entier = intval($reel); • (integer), (string), (double) : $entier = (integer) $reel; • booléen settype(var, type); • chaîne strval(argument) retourne l'argument sous forme de chaîne. • Exemple : <?php $reel = 3.85; $entier = (integer) $reel; print("le reel $reel donne l'entier $entier"); ?> M2. IST-IE (S. Sidhom)

  20. Fonctions pour connaître le type • chaine gettype(variable) • booleen is_array(var) • booleen is_double(var) • booleen is_integer(var) • booleen is_object(var) • booleen is_string(var) • booleen is_type(var, type) :  renvoie 1 si var est du type : type M2. IST-IE (S. Sidhom)

  21. Variables d’environnement • Il existe des variables prédéfinies, la plupart dépendent du serveur qui appelle le script php. • Pour obtenir la liste complète il suffit d'exécuter le script ci-dessous : (Apache Environment) <?php phpinfo(); ?> • une page sera affichée contenant des tableaux qui décrivent la configuration, les variables d'environnement Apache. • Quelques unes des variables d'environnement (Apache) : • HTTP_USER_AGENT : navigateur du client ; • REQUEST_METHOD : méthode utilisée pour appeler la page (GET, HEAD, POST, PUT) ; M2. IST-IE (S. Sidhom)

  22. Variables PHP • HTTP_GET_VARS tableau associatif pour la methode get (nom, valeur) • HTTP_POST_VARS tableau associatif pour la methode post (nom, valeur) • HTTP_COOKIE_VARS tableau associatif pour la methode cookie (nom du cookie, contenu) • GLOBALS tableau associatif qui contient les variables globales du script, la clé est le nom de la variable (sans le dollar) et la valeur est le contenu de la variable. M2. IST-IE (S. Sidhom)

  23. Variables dynamiques • Il est possible de définir un nom de variable déclaré et utilisé dynamiquement. • Une variable dynamique prend comme nom la valeur d'une autre variable. • Affectation : $$nom_var = valeur; • Lecture de la valeur : ${$nom_var} • Exemple : <?php $ch = "bonjour"; $$ch = "tout le monde"; echo "$ch<BR>"; echo "${$ch}<BR>"; echo "$bonjour<BR>"; ?> M2. IST-IE (S. Sidhom)

  24. 2. Syntaxe du langage PHP : Les CONSTANTES M2. IST-IE (S. Sidhom)

  25. Définition des constantes • définition de la constante : define ("NOM_CONST", valeur); • utilisation : NOM_CONST • vérification d'existence : if(defined(NOM_CONST))... • Exemple : <?php define("MAIL_sidhom","Sahbi.Sidhom@loria.fr"); print("envoyez un mail &agrave; ".MAIL_sidhom); ?> M2. IST-IE (S. Sidhom)

  26. Constantes prédéfinies • TRUE : vrai • FALSE : faux • __FILE__ : nom du fichier du script parsé (attention il y a deux caractères soulignés avant FILE et deux après) • __LINE__ : numéro de la ligne du script • PHP_VERSION : version de PHP • PHP_OS : système sur lequel PHP exécute le script • Exemple : <?php echo PHP_VERSION."<BR>"; echo PHP_OS."<BR>"; echo __LINE__."<BR>"; echo __FILE__."<BR>"; ?> M2. IST-IE (S. Sidhom)

  27. 3. Syntaxe du langage PHP : Les TABLEAUX M2. IST-IE (S. Sidhom)

  28. Définition des tableaux • Un tableau est créé par la fonction(array)qui prend en argument des structures (key => value), séparées par des virgules (,) : $nom_tableau = array(key1=>value1,...); • Exemple : $tab = array("b","o","n"); $tab[0] = "b"; $tab[1] = "o"; $tab[2] = "n"; <?php echo "essai avec array : "; $tab = array("b", "o", "n"); $taille = count($tab); for($i=0; $i<$taille; $i++) echo $tab[$i]; ?> M2. IST-IE (S. Sidhom)

  29. Une dimension • accès à un élément d'un tableau de n cases : $tab[indice] avec indice dans l'intervalle [0,n-1] • nombre d'éléments dans un tableau : $nb = count($tab); • Exemple : <?php echo "essai avec array : "; $tab = array("a","n","n","é","e","0","4"); $taille = count($tab); for($i=0; $i<$taille; $i++) echo $tab[$i]; ?> M2. IST-IE (S. Sidhom)

  30. Plusieurs dimensions • Exemple : $saison = array( "ete"=>array("juin","juillet","aout","septembre"), "automne"=>array("septembre","octobre","novembre", "decembre"), "hiver"=>array("decembre","janvier","fevrier","mars"), "printemps"=>array("mars","avril","mai","juin") ); print($saison["printemps"][2]); M2. IST-IE (S. Sidhom)

  31. Associatifs • initialisation 1 : $nomtab["cle"] = valeur; • initialisation 2 : $nomtab =array( "cle1"=>valeur1, "cle2"=>valeur2, ...); • accès à un élément : $individu["cle"]; • parcourir tous les éléments, solution 1 (for) : for(reset($nomtab); $cle = key($nomtab); next($nomtab)) { $val = pos($nomtab); print("$cle = $val<BR>\n"); } M2. IST-IE (S. Sidhom)

  32. parcourir tous les éléments, solution 2 (while) : reset($nomtab); while(list($cle, $valeur) = each($nomtab)) { echo "<BR>$cle = $valeur"; } M2. IST-IE (S. Sidhom)

  33. Fonctions pour les tableaux M2. IST-IE (S. Sidhom)

  34. M2. IST-IE (S. Sidhom)

  35. M2. IST-IE (S. Sidhom)

  36. M2. IST-IE (S. Sidhom)

More Related