Diapositive 1

Download Report

Transcript Diapositive 1

Séminaire (
)
Promo. M2 ESCE-Tunis 2006/07
6-12 Février 2007
Conception d’un 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
[email protected]
cours n°2
M2. ESCE (S. Sidhom)
Programmation en PHP/MySQL
2
Objectifs






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
3
I.
Architecture et fonctionnement
4
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
5
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, …
6
Fonctionnement de PHP
Internet
Serveur
PHP
Client
script
HTML
(navigator)
PHP
Zend 2
Opcode
7
II.
Structures
de base et de contrôle
8
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 ! ");
?>
 Type 3 :
<?
echo (" Ceci est un script en php ! ");
?>
9
Balises propres à PHP
Ouverture
Fermerture
<?
?>
<?php
?>
<script language= "php">
</script>
10
Insertion de PHP dans HTML
<html>
<head>
<title>Ma première page en PHP</title>
</head>
<body>
hello !
<BR>
Date courante 1: <?php echo « 13 février 2007"; ?>
<BR>
Date courante 2: <?php
echo date("H:i:s"); ?>
</body>
</html>
11
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 :
12
 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 ?
13
1. Syntaxe du langage PHP :
Les VARIABLES
14
Dé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 ;
15
Exemples
 Ecriture :
<?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");
?>
16
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;
?>
17
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");
?>
18
Fonctions pour connaître le type
 chaine gettype(variable)





booleen
booleen
booleen
booleen
booleen
is_array(var)
is_double(var)
is_integer(var)
is_object(var)
is_string(var)
 booleen is_type(var, type) :
 renvoie 1 si var est du type : type
19
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 cidessous : (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) ;
20
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.
21
2. Syntaxe du langage PHP :
Les CONSTANTES
22
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","[email protected]");
print("envoyez un mail à : ".MAIL_sidhom);
?>
23
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>";
?>
24
3. Syntaxe du langage PHP :
Les TABLEAUX
25
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");
ie. :
0=>b, 1=>o et n=>n
ie. :
$tab[0] = "b"; $tab[1] = "o"; $tab[2] = "n";
 Ecrire :
<?php
echo "essai avec array : ";
$tab = array("b", "o", "n");
$taille = count($tab);
for($i=0; $i<$taille; $i++) echo $tab[$i];
?>
26
Une dimension
 accès à un élément d'un tableau de dim(n) :
$tab[indice]
avec indice dans l'intervalle [0,n-1]
 nombre d'éléments dans un tableau :
$nb = count($tab);
 Ecrire :
<?php
echo "essai avec array : ";
$tab = array("a","n","n","é","e","0","7");
$taille = count($tab);
for($i=0; $i<$taille; $i++) echo $tab[$i];
?>
27
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]);
28
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");
}
29
 parcourir tous les éléments, solution 2 (while) :
reset($nomtab);
while(list($cle, $valeur) = each($nomtab))
{
echo "<BR>$cle = $valeur";
}
30
Fonctions pour les tableaux
31
32
33
34