Technologie Web PHP PHP H. Gharbi INSAT 2010 PHP - Histoire et Origine • PHP :

Technologie Web PHP PHP H. Gharbi INSAT 2010 PHP - Histoire et Origine • PHP : Hypertext PreProcessor • Première version de PHP a été mis au point par Rasmus Lerdorf en 1994  Version appelée à l'époque Personal Home Pages  Pour conserver la trace des utilisateurs venant consulter son CV sur  Pour conserver la trace des utilisateurs venant consulter son CV sur son site, grâce à l'accès à une base de données par l'intermédiaire de requêtes SQL • La version 3.0 de PHP fut disponible le 6 juin 1998 • A la fin de l'année 1999, une version bêta de PHP, baptisée PHP4 est apparue • En 2001 cinq millions de domaines utilisent PHP • Version actuelle : PHP 5.3.2 PHP – Définition • Un langage de scripts permettant la création d’applications Web • Indépendant de la plate-forme utilisée puisqu’il est exécuté côté serveur et non côté client. • La syntaxe du langage provient de celles du langage C, du Perl et de Java. Perl et de Java. • Ses principaux atouts sont:  La gratuité et la disponibilité du code source (PHP est distribué sous licence GNU GPL)  La simplicité d'écriture de scripts  La possibilité d'inclure le script PHP au sein d'une page HTML  La simplicité d'interfaçage avec des bases de données  L'intégration au sein de nombreux serveurs web (Apache, Microsoft IIS, ...) Un standard • supporté par de nombreux serveurs http •IIS, Netscape, Roxen, IPlanet • multiplateforme : *nix et windows (wamp, EasyPHP, xampp) • proposé massivement par les hébergeurs PHP : Illustration du fonctionnement <html> <body> <h1> Table des factorielles</ Invocation h1> <?php for ( $i= 1,$ fact= 1 ; $i< 4 ; $i++,$ fact*=$ i ) { echo "$ i! = $fact <br />"; } ?> </body> </html> Exécution côté serveur résultat = HTML généré via le code PHP code PHP <html> <body> <h1> Table des factorielles</h1> 1! = 1 <br /> 2! = 2 <br /> 3! = 6 <br /> </body> </html> PHP et HTML • Les scripts PHP sont généralement intégrés dans le code d’un document HTML • L’intégration nécessite l’utilisation de balises  avec le style xml : <? ligne de code PHP ?>  Avec le style php: <?php ligne de code PHP ?>  avec le style JavaScript : <script language=″php″> ligne de code PHP </script>  avec le style des ASP : <% ligne de code PHP %> Intégration directe • Tout le code PHP est inséré dans la page HTML. <html> <head> <title> Mon script PHP </title> </head> </title> </head> <body> //ligne de code HTML < ?php //ligne de code PHP ?> //ligne de code HTML …. </body> </html> Fichier externe • Inclure un fichier PHP dans un fichier HTML : include() Fichier Prinipal <html> <head> Fichier à inclure : information.inc <head> <title> Fichier d’appel </title> </head> <body> <?php $salut = “ BONJOUR” ; include “information.inc” ; ?> </body> </html> <?php $chaine=$salut. “ , C’est PHP “ ; echo “ <table border= \“3“ <tr> <td width = “ 100%\ “ > <h2> $chaine</h2> </td> </tr></table> “; ?> L’outil EasyPHP EasyPHP– phpMyAdmin Syntaxe de base • Typologie Toute instruction se termine par un point-virgule (;) Sensible à la casse Sauf par rapport aux fonctions Sauf par rapport aux fonctions •Les commentaires /* Voici un commentaire! */ // un commentaire sur une ligne Les constantes • Define("nom_constante", valeur_constante )  define (“ma_const”, “Vive PHP5”) ;  define (“an”, 2010) ; • Les constantes prédéfinies • Les constantes prédéfinies  NULL  PHP_VERSION  PHP_OS  TRUE et FALSE  E_ERROR  … Les variables • Principe:  Commencent par le caractère $  N'ont pas besoin d'être déclarées • Fonctions de vérifications de variables  Doubleval(), empty(), gettype(), intval(),  Doubleval(), empty(), gettype(), intval(), is_array(), is_bool(), is_double(), is_float(), is_int(), is_integer, is_long(), is_object(), is_real(), is_numeric(), is_string() Isset(), settype(), strval(), unset() • Affectation par valeur et par référence  Affectation par valeur : $b=$a  Affectation par (référence) variable : $c = &$a Variable dynamique • Une variable peut avoir pour identificateur la valeur d’une autre variable. •Syntaxe : ${$var} = valeur; •Exemple : •Exemple : $toto = ‘’foobar’’; ${$toto} = 2002; echo $foobar; // la variable $foobar vaut 2002 Les types de données • Principe Pas besoin d’affecter un type à une variable avant de l’utiliser La même variable peut changer de type en cours de script Les variables issues de l’envoi des données d’un Les variables issues de l’envoi des données d’un formulaire sont du type string •Les différents types de données Les entiers : le type Integer Les flottants : le type Double Les tableaux : le type array Les chaînes de caractères : le type string Les objets Le transtypage • La fonction settype() permet de convertir le type auquel appartient une variable <?php $nbre=10; settype($nbre, " double "); echo " la variable $nbre est de type ".gettype($nbre); ?> • Transtypage explicite : le cast • Transtypage explicite : le cast (int), (integer) ; (real), (double), (float); (string); (array); (object) <?php $var="100 Euros"; echo "<br>pour commencer, le type de la variable $var est ".gettype($var); $var =(double) $var; echo "<br> Apres le cast, le type de la variable $var est ".gettype($var); echo "<br> et a la valeur $var"; ?> Portée des variables $a = "bonjour" ; $b = "hello" ; function f($x) { { global $b ; echo $a ; // undefined echo $b ; // hello echo $GLOBALS[“a”] ;// bonjour } Entiers et réels • Entiers 1234 # décimal -123 # négatif 0123 # octal (=83) 0123 # octal (=83) 0x12 # héxadécimal (=18) • Flottants (réels) 1.234 1.2e3 # (=1200) Chaînes de caractères (1) • Entre guillemets :  variables remplacées  \n, \r, \t, \\, \$, \", \167, \X5f • Entre apostrophes : • Entre apostrophes :  variables non remplacées  \\, \' • Indices de 0 à l-1 ($str[0] à $str[$l-1]) Chaînes de caractères (2) • Concaténation à l’aide du point “.” • Fonctions:  strlen($str) : retourne le nombre de caractères d’une chaîne  strtolower($str) : conversion en minuscules  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) : déspécialise les caractères spéciaux (‘, ‘’, \)  ord($char) : retourne la valeur ASCII du caractère $char Sorties • Les fonctions d’affichage :  echo() : écriture dans le navigateur  print() : écriture dans le navigateur  printf($chaine, $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 $name’’; print(‘’Bonjour $name’’); printf(‘’Bonjour %s’’, $name); Tableaux (1) • Scalaires ou associatifs $tab[12], $tab["foo"], $tab[$n] • Multi-dimensionnels $coord["top"][$x][$y] $coord["top"][$x][$y] • Création : array(), assignation directe • Accès : count(), each(), next(), prev() • Tri : asort(), arsort(), ksort(), usort(), … Tableaux (2) • Création Directe  $tab[0] = "bonjour" ;  $t["café"] = 2 ; • Création avec la fonction array() • Création avec la fonction array()  $dejeuner = array( "entrée" => "salade", "plat" => "escalope", "boisson" => "eau", "dessert" => "flan", "café" => TRUE) ; Opérateurs • Arithmétiques  +, -, *, / (quotient), % (reste) • Binaires (bit à bit)  & (et), | (ou), ^ (ou excl.), ~ (non),  & (et), | (ou), ^ (ou excl.), ~ (non), << et >> (décalages) • Comparaison  == (égal),!=, >, <, <=, >= • Incrémentation (++), décrémentation (--) • Logiques  &&, ||, ! Structures de contrôle alternative if (condition1) { /* . . . */ } elseif (condition2) { /* . . . */ } elseif . . . . . . else { /* . . . */ } Opérateur ternaire (condition) ? instruction si vrai : instruction si faux Choix multiple switch (expr) { case val1: /* . . . */ break ; break ; case val2: /* . . . */ break ; . . . default: /* . . . */ } Tant que / répéter while (condition) { /* . . . */ } do { /* . . . */ } while (condition) ; Boucle ″ pour ″ for ( expr1 ; expr2 ; expr3 ) { /* . . . */ } • est équivalent à • est équivalent à expr1 ; while ( expr2 ) { /* . . . */ expr 3 ; } La boucle foreach foreach ($tableau as $valeur) { insts utilisant $valeur ; } $langages = array('fr' => ' français', 'en' => 'english', 'de' => 'deutsch'); foreach ( $langages as $libelle) { echo "<li>".$libelle."</li>"; } affichera • français • english • deutsch foreach ( $langages as $key => $libelle){ echo "<li>".$key." : ".$libelle."</li>"; } affichera • fr : français • en : english • de : deutsch Ruptures de uploads/Litterature/ technologie-web-php-pdf.pdf

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