Title: S
1Séminaire (6-12 Février 2007) Promo. M2
ESCE-Tunis 2006/07
- Conception dun système d'information sur
Internet - Architecture trois-tiers techniques de
programmation en PHP (1/2)
Par Sahbi SIDHOM MCF. Université Nancy 2 Équipe
de recherche SITE LORIA sahbi.sidhom_at_loria.fr
2Programmation en PHP/MySQL
3Objectifs
- Architecture et fonctionnement
- Structures de base et de contrôle
- Fonctions usuelles
- Gestion des objets
- MySQL et bases de données
- Multimédia Web dynamique
4I. Architecture et fonctionnement
5Architecture 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
dexploitation
6Nombreux connecteurs dAPI
- Capacité de se connecter à la plupart des
applications de lentreprise avec PHP - Web (HTML, WML, )
- Services reposant sur Soap
- API client/serveur GTK, WUL,
- Ligne de commande
- MS office, Adobe, Macromedia Flash,
7Fonctionnement de PHP
Internet
Serveur
PHP script
Client
HTML (navigator)
Zend 2 Opcode
8II. Structures de base et de contrôle
9Script PHP
- Type 1
- ltscript language "php"gt
- echo (" Ceci est un script en php ! ")
- lt/scriptgt
- Type 2
- lt?php
- echo (" Ceci est un script en php ! ")
- ?gt
- Type 3
- lt?
- echo (" Ceci est un script en php ! ")
- ?gt
10Balises propres à PHP
Ouverture Fermerture
lt? ?gt
lt?php ?gt
ltscript language "php"gt lt/scriptgt
11Insertion de PHP dans HTML
- lthtmlgt
- ltheadgt
- lttitlegtMa première page en PHPlt/titlegt
- lt/headgt
- ltbodygt
- hello !
- ltBRgt
- Date courante 1 lt?php echo 13 février 2007"
?gt - ltBRgt
- Date courante 2 lt?php echo date("His") ?gt
- lt/bodygt
- lt/htmlgt
12PHP HTML selon le serveur
- Écriture
- ltHTMLgt
- ltHEADgt
- lttitlegtpremier pas en PHPlt/titlegt
- lt/HEADgt
- ltBODY bgcolor"FFFFFF"gt
- ltH1gtEssai de script PHPlt/H1gt
- lt?php
- echo "Bonjour, il est "
- echo date("His")
- ?gt
- lt/BODYgt
- lt/HTMLgt
- Exécution
13- Résultat dexécution
- ltHTMLgt
- ltHEADgt
- lttitlegtpremier pas en PHPlt/titlegt
- lt/HEADgt
- ltBODY bgcolor"FFFFFF"gt
- ltH1gtEssai de script PHPlt/H1gt
- Bonjour, il est 170538
- lt/BODYgt
- lt/HTMLgt
- Que remarquez-vous ?
141. Syntaxe du langage PHP
15Définition des Variables
- Déclaration
- nom_variable expression
- attention à la casse
- a est différent de A
- 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
16Exemples
- Ecriture
- lt?php
- reel 0.3
- entier 22
- chaine "bonjour !"
- phrase1 "bonjour chaine!"
- phrase2 'bonjour chaine'
- print("un reel reelltBRgt")
- print("un entier entierltBRgt")
- print("une chaine chaineltBRgt")
- print("une phrase phrase1ltBRgt")
- print("du bon usage des guillemets phrase2")
- ?gt
17Type
- Le type est donné automatiquement
- integer, double, string, array, object.
- Pour écrire un guillemet dans une chaîne,
utiliser \". - Exemple
- lt?php
- chaine "\"Salut tout le monde\""
- echo chaine
- ?gt
18Conversion 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
- lt?php
- reel 3.85
- entier (integer) reel
- print("le reel reel donne l'entier entier")
- ?gt
19Fonctions 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
20Variables denvironnement
- 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) - lt?php
- phpinfo()
- ?gt
- 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)
21Variables 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.
222. Syntaxe du langage PHP
23Définition des constantes
- définition de la constante
- define ("NOM_CONST", valeur)
- utilisation
- NOM_CONST
- vérification d'existence
- if(defined(NOM_CONST))...
- Exemple
- lt?php
- define("MAIL_sidhom","Sahbi.Sidhom_at_loria.fr")
- print("envoyez un mail à ".MAIL_sidhom)
- ?gt
24Constantes 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
- lt?php
- echo PHP_VERSION."ltBRgt"
- echo PHP_OS."ltBRgt"
- echo __LINE__."ltBRgt"
- echo __FILE__."ltBRgt"
- ?gt
253. Syntaxe du langage PHP
26Définition des tableaux
- Un tableau est créé par la fonction(array) qui
prend en argument des structures (key gt value),
séparées par des virgules (,) - nom_tableau array(key1gtvalue1,...)
- Exemple
- tab array("b","o","n") ie. 0gtb, 1gto
et ngtn - ie. tab0 "b" tab1 "o" tab2
"n" - Ecrire
- lt?php
- echo "essai avec array "
- tab array("b", "o", "n")
- taille count(tab)
- for(i0 ilttaille i) echo tabi
- ?gt
27Une dimension
- accès à un élément d'un tableau de dim(n)
- tabindice
- avec indice dans l'intervalle 0,n-1
- nombre d'éléments dans un tableau
- nb count(tab)
- Ecrire
- lt?php
- echo "essai avec array "
- tab array("a","n","n","é","e","0","7")
- taille count(tab)
- for(i0 ilttaille i) echo tabi
- ?gt
28Plusieurs dimensions
- Exemple
- saison array(
- "ete"gtarray("juin","juillet","aout","septembre")
, "automne"gtarray("septembre","octobre","novembre
", "decembre"), - "hiver"gtarray("decembre","janvier","fevrier","ma
rs"), - "printemps"gtarray("mars","avril","mai","juin")
- )
- print(saison"printemps"2)
29Associatifs
- initialisation 1
- nomtab"cle" valeur
- initialisation 2
- nomtab array( "cle1"gtvaleur1,
- "cle2"gtvaleur2,
- ...)
- 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 valltBRgt\n")
-
30- parcourir tous les éléments, solution 2 (while)
- reset(nomtab)
- while(list(cle, valeur) each(nomtab))
-
- echo "ltBRgtcle valeur"
31Fonctions pour les tableaux
32(No Transcript)
33(No Transcript)
34(No Transcript)