1 Le Langage PHP Partie 1 Plan 1. Rappel 2. Le Langage PHP 2 Rappel Les SGBD (

1 Le Langage PHP Partie 1 Plan 1. Rappel 2. Le Langage PHP 2 Rappel Les SGBD (Systèmes de Gestion de Bases de Données) permettent d’organiser le stockage d’informations. Le langage SQL (Structured Query Language) permet d’interroger les bases de données relationnelles : SELECT cl_nom, cl_prenom FROM clients WHERE cl_ville = “Tunis“; Les données sont récupérées sous forme de tables (n lignes * m colonnes) Un certain nombre de traitements ne peuvent pas être réalisés en SQL Recours à un langage (autre que SQL) qui est capable d’interagir avec un SGBD Parmi les langages susceptibles d’être utilisés on trouve : Perl Python PHP Il s’agit de langages de script (interprétés) 3 Le modèle: client serveur 4 Client Base de données MySQL Serveur Script PHP internet requête réponse Document Html appel de la page extraction de données exécution 1994 Rasmus Lerdorf pour les besoins des pages web personnelles signifiait Personal Home Page 1997 réécrit par Zeev Suraski et Andi Gutmans pour donner PHP3 PHP : « PHP: Hypertext Preprocessor » Avantages de PHP Il s’intègre facilement aux pages web gratuit (Open Source) syntaxe empruntée au langage C et à Perl nombreuses bibliothèques de fonctionnalités (BD, dessin, réseau) Le langage PHP 5 Le langage PHP PHP peut être utilisé de deux manières différentes : Soit comme un langage de programmation traditionnel (en ligne de commande) Soit intégré dans une page web <?php echo “Bonjour“; ?> Exemple de programme PHP >php bonjour.php Bonjour Fichier bonjour.php 6 Autres syntaxes d’intégration : <? … ?> <script language=„‟php‟‟> … </script> <% … %> Le langage PHP 7 <html> <body> <h1>Mon premier script</h1> <?php echo „‟Bonjour\n‟‟; ?> </body> </html> Exemple de script, code source (côté serveur) : <?php echo „‟<html>\n<body>\n‟‟; echo „‟<h1>Mon premier script</h1>\n‟‟; echo „‟Bonjour\n‟‟; echo „‟</body>\n</html>\n‟‟; ?> Autre écriture du même script : Résultat affiché par le navigateur : Code source (côté client) de la page essai.php résultant du script Les commentaires 8 Un script php se commente comme en C : Exemple : <?php // commentaire de fin de ligne /* commentaire sur plusieurs lignes */ ?> Tout ce qui se trouve dans un commentaire est ignoré. Il est conseillé de commenter largement ses scripts. Les variables Les variables sont toutes préfixées par le symbole $ <?php $annee = 1980; $nom = “Mohamed“; echo “Bonjour, je m‟appelle $nom\n“; echo “je suis né en $annee\n”; ?> Les variables non sont pas typées en PHP <?php $valeur = 1; $valeur = “Bonjour“; ?> \n : retour à la ligne Une variable peut prendre n’importe quelle valeur (entier, réel, chaîne, tableau) 9 Les constantes 10 La valeur d'une constante est fixée une fois pour toute. Les constantes ne portent pas le symbole $ (dollars) en début d’identificateur et ne sont pas modifiables. define(„‟var‟‟,valeur) : définit la constante var (sans $) de valeur valeur Exemple 1 : define(„‟author‟‟,‟‟Mohamed‟‟); echo author; // affiche ‘Mohamed’ Exemple 2 : define(MY_YEAR,1980); echo MY_YEAR; // affiche 1980 Contrairement aux variables, les identificateurs de constantes (et aussi ceux de fonction) ne sont pas sensibles à la casse. Les structures de contrôle if (condition) { action 1 } else { action 2 } If ($valeur > 1) { echo “la valeur est supérieure à 1“; } If ($valeur < 1) { echo “la valeur est inférieure à 1“; } If ($valeur == 1) { echo “la valeur est égale à 1“; } If ($valeur != 1) { echo “la valeur est différente de 1“; } If ($valeur == 1) { echo “la valeur est égale à 1“; } else { echo “la valeur est différente de 1“; } 11 Structure conditionnelle: Les structures de contrôle La boucle tant que : while (condition) { instructions } $i = 1; $somme = 0; while ($i <= 10) { $somme = $somme + $i; $i = $i + 1; } echo “Somme des entiers de 1 à 10 = $somme “; Structures répétitives: 12 Les structures de contrôle La boucle pour : for (initialisation ; condition d‟arrêt; incrémentation) { instructions } $somme = 0; for ($i = 1; $i <= 10; $i = $i + 1) { $somme = $somme + $i; } echo “Somme des entiers de 1 à 10 = $somme “; Pour i partant de 1 et tant que i <= 10, ajouter 1 à i après chaque itération 13 Structures répétitives: Les chaînes de caractères 14 Une variable chaîne de caractères n’est pas limitée en nombre de caractères. Elle est toujours délimitée par des simples quotes ou des doubles quotes. Exemples : $nom = „‟Mohamed‟‟; $prenom = „Benjlaiel‟; Les doubles quotes permettent l’évaluation des variables et caractères spéciaux contenus dans la chaîne (comme en C ou en Shell) alors que les simples ne le permettent pas. Exemples : echo „‟Nom: $nom„‟; // affiche Nom: Mohamed echo ‟Nom: $nom„; // affiche Nom: $nom Quelques caractères spéciaux : \n (nouvelle ligne), \r (retour à la ligne), \t (tabulation horizontale), \\ (antislash), \$ (caractère dollars), \‟‟ (double quote). Exemple : echo „‟Hello Word !\n‟‟; echo nl2br("Hello\n\rWorld\n\r!!!"); Les chaines de caractères 15 Opérateur de concaténation de chaînes : . (point) Exemple 1 : $Mot1 = „‟Hello‟‟; $Mot2 = „‟Word‟‟; echo $Mot1.$Mot2; Affichage d’une chaîne avec echo: Exemples: echo „Hello Word.‟; echo „‟Hello ${name}\n‟‟; echo ‟‟Nom : ‟‟, $name; echo(„‟Bonjour‟‟); Quelques fonctions: strlen($str) : retourne le nombre de caractères d’une chaîne strtolower($str) : conversion en minuscules strtoupper($str) : conversion en majuscules trim($str) : suppression des espaces de début et de fin de chaîne substr($str,$i,$j) : retourne une sous chaîne de $str de taille $j et débutant à la position $i strnatcmp($str1,$str2) : comparaison de 2 chaînes addslashes($str) : ajouter les backslashes ("\") devant les caractères ord($char) : retourne la valeur ASCII du caractère $char Les chaines de caractères 16 Les fonctions d‟affichage : echo() : écriture dans le navigateur print() : écriture dans le navigateur printf([$format, $arg1, $arg2]) : écriture formatée comme en C, i.e. la chaîne de caractère est constante et contient le format d’affichage des variables passées en argument Exemples : echo „‟Bonjour $nom‟‟; print(„‟Bonjour $nom‟‟); printf(„‟Bonjour %s‟‟, $nom); Les tableaux Il existe plusieurs manières de manipuler les tableaux $tableau = array(); $tableau[1] = 1; $tableau[2] = 2; $tableau[3] = 3; print_r( $tableau ); $tableau = array(1, 2, 3); foreach($tableau as $element) { echo “$element \n“; } $tableau = array(); array_push($tableau,1); array_push($tableau,2); array_push($tableau,3); reset( $tableau ); while (list($cle,$val) = each($tableau)) { echo “tableau[ $cle ] = $val \n“; } 17 Les fonctions 18 Comme tout langage de programmation, php permet l’écriture de fonctions. Les fonctions peuvent prendre des arguments dont il n’est pas besoin de spécifier le type. Elles peuvent de façon optionnelle retourner une valeur. L’appel à une fonction peut ne pas respecter son prototypage (nombre de paramètres). Les identificateurs de fonctions sont insensibles à la casse. Exemple : function mafonction($toto) { $toto += 15; echo „‟Salut !‟‟; return ($toto+10); } $nbr = MaFonction(15.1); Les fonctions 19 On peut modifier la portée des variables locales à une fonction. global permet de travailler sur une variable de portée globale au programme. Le tableau associatif $GLOBALS permet d’accéder aux variables globales du script ($GLOBALS[„‟var‟‟] accède à la variable $var). Exemple : function change() { global $var; // définit $var comme globale $GLOBALS[„‟toto‟‟] ++; // incrémente la variable globale $toto $var++; // cela sera répercuté dans le reste du programme } static permet de conserver la valeur d’une variable locale à une fonction. Exemple : function change() { static $var; // définit $var comme statique $var++; // sa valeur sera conservée jusqu’au prochain appel } Les fonctions 20 On peut donner une valeur par défaut aux arguments lors de la déclaration de la fonction. Ainsi, si un argument est « oublié » lors de l’appel de la fonction, cette dernière lui donnera automatiquement une valeur par défaut décidée à l’avance par le programmeur. Exemple : function Set_Color($color=„‟black‟‟) { global $car; $car[„‟color‟‟] = $color; } Forcer le passage de paramètre par référence (équivalent à user de global): Exemple : function change(&$var) { // force le passage systématique par référence $var += 100; // incrémentation de +100 } $toto = 12; // $toto vaut 12 change($toto); // passage par valeur mais la fonction la prend en référence echo $toto; // $toto vaut 112 Les fonctions 21 Les paramètres sont passés par copie et les résultats sont retournés par copie (sauf à forcer la référence). Même sans paramètre, une entête de fonction doit porter des parenthèses ( ). Les différents arguments sont séparés par une virgule , et le corps de la fonction est délimité par des accolades { }. Quelques exemples : function afficher($str1, $str2) { // passage de deux paramètres echo „‟$str1, $str2‟‟; } function bonjour() { // passage d’aucun paramètre echo „‟Bonjour‟‟; } function GetColor() { // retour d’une variable de type chaîne return „‟black‟‟; } Les fonctions 22 Une fonction peut être définie après son appel (en PHP4 du fait de la compilation avant exécution contrairement au PHP3 qui est interprété). Exemple : function f1() { // définition de la fonction f1 echo „‟fonction 1…‟‟; } f1(); // uploads/Ingenierie_Lourd/ 1-php-mysql-partie1.pdf

  • 23
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager