module 133 Développer des applications Web Introduction à PHP
module 133 PHP
module 133 PHP PHP (acronyme récursif pour PHP Hypertext Preprocessor) Langage de script Fonctionne côté serveur Inséré (en général) dans une page HTML Permet d'écrire des programmes "normaux"
module 133 Test PHP Mettez-vous dans le répertoire contenant php.exe (p. ex avec EasyPHP 2) C:\Program Files\EasyPHP 2.0b1\php5 exécuter la commande php –v PHP (cli) (built: Nov :57:36) Copyright (c) The PHP Group Zend Engine v2.2.0, Copyright (c) Zend Technologies
module 133 Exécution d'un script Ecrire un fichier texte c:\projet\test.php contenant les lignes suivantes <?php $today = getdate(); print_r($today); ?>
module 133 Exécution d'un script Depuis la console (dans le répertoire php) exécuter la commande suivante php –f c:\projet\test.php Array ( [seconds] => 8 [minutes] => 57 [hours] => 15 [mday] => 3 [wday] => 3 [mon] => 9 [year] => 2008 [yday] => 246 [weekday] => Wednesday [month] => September [0] => )
module 133 Page Web Copions notre fichier dans le répertoire www de notre serveur puis…
module 133 Script "pur" <?php echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \" Exemple code php Exemple de page entièrement générée par code php " ?>
module 133 Script mélangé <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " Exemple code php mélangé Page dont seul ce texte est généré par code php "; ?>
module 133 Syntaxe Bonne nouvelle : PHP reprend la syntaxe de base du C Mauvaise nouvelle : On ne déclare pas ses variables pas de typage fort pas de vérification sur les noms utilisés.
module 133 Syntaxe Le nom d'une variable commence obligatoirement par $ La création d'une variable se fait par une affectation. Le type de la variable est défini à ce moment-là. Il peut changer… $maVariable = 123; $maVariable = "Albert";
module 133 Types de données Entier (±2*10 9 ) Réel (±1*10 308, 14 chiffres significatifs) Booléen ( true, false ) Chaîne (délimitée par des apostrophes ' ou de guillemets " ) l'apostrophe empêche l'interprétation des séquences d'échappement (\).
module 133 Opérateurs Précédence des opérateurs Associativité Opérateurs Information additionnelle non-associative new new gauche [ array() non-associatif incrémentation/décrémentation non-associatif ~ - (int) (float) (string) (array) (object) types non-associatif instanceof types droite ! logique gauche * / % arithmétique gauche + -. arithmétique et chaîne de caractères gauche > bitwise non-associatif >= <> comparaison non-associatif == != === !== comparaison gauche & bitwise et références gauche ^ bitwise gauche | bitwise gauche && logique gauche || logique gauche ? : ternaire droite = += -= *= /=.= %= &= |= ^= >= assignation gauche and logique gauche xor logique gauche or logique gauche, plusieurs utilisations
module 133 Particularités L'opérateur. effectue une concaténation de deux chaînes L'opérateur $chaine[indice] retourne le caractère désigné par l'indice Les opérateurs logiques sont doublés and et && or et || seule leur priorité change… PHP offre près de 100 fonctions de manipulations de chaîne
module 133 Incrémentation PHP offre les opérateurs d'incrémentation ++ et de décrémentation avec leurs notations préfixée et postfixée (i++, ++i). Ces opérateurs, pour des raisons de maintenance) ne doivent jamais être utilisés dans une expression mais seuls. Que penser de tab[i++]=tab[--i]++ (1) (1) Exemple stupide…
module 133 Réponse Pour envoyer une réponse au browser nous pouvons utiliser 2 méthodes echo(expr1[,expr2…]) print(expression) Les parenthèses sont optionnelles Fonctionnement identique : echo est une procédure alors que print est une fonction qui retourne toujours 1
module 133 Exemple <?php $nom = "Albert"; $age = 19; echo "Vous vous appelez ",$nom, et vous êtes agé de ",$age,"ans. ?>