0% ont trouvé ce document utile (0 vote)
183 vues46 pages

PHP Partie 1

Transféré par

Crazy Zox
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
183 vues46 pages

PHP Partie 1

Transféré par

Crazy Zox
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 46

Programmation Web

Langage PHP
PHP
Mme Imane FRITET Développement digital [email protected]
1
INTRODUCTION

2
PHP: Langage de script pour le Web

Qu’est-ce que PHP ?


• Langage de script. Principalement utilisé côté serveur
• Créé en 1994-1995
• Acronyme : PHP: Hypertext Preprocessor
• Extension utilisée sur ≈80% des serveurs Web
• Langage multi plate-forme (UNIX / Windows…)
• Open Source
• Versions actuelles : PHP 8.2
3
C’est quoi un script?

Un script est une suite d'instructions qui sont


exécutées de manière séquentielle, c'est-à-dire, 1 - Langage interprété
les unes après les autres.
2 - Pas de compilation
• Instruction_1;
• Instruction_2; 3 - Typage faible

• ... 4 - Programmation orientée objet


• Dernière_instruction;

4
Utilité et utilisation de PHP

❑ Création de pages Web « dynamiques »

❑ Interface entre un serveur Web et des bases de données

5
Principales fonctionnalités de PHP

• Manipulation de chaînes et tableaux


• Calendrier / dates / heures
• Fonctions mathématiques
• Accès au système de fichiers
• Manipulation d’images
• HTTP / FTP / IMAP
• Bases de données (Oracle, MySQL, …)
• Génération PDF
• …
6
2
FONCTIONNEMENT

7
Fonctionnement de PHP

Rendu
Localisation
Connexion
Requête
Exécution
Fermeture
graphique
Envoi du HTTP
du
de
sur
de
ducode
lale
résultatdu
la
code
connexion
serveur
des
ressource
client
PHP
au PHP
données
(hello.php)
client(port
dans80)
le fichier
= réponse HTTP Client

Navigateur
GET /hello.php HTTP/1.0
Réseau •HTML
•JavaScript
•CSS
Protocole HTTP

Exécution d’un programme sur le serveur


Construction de la réponse
<html>
Serveur
<head>
<title>Hello</title> <?php
Serveur Web
</head> echo " <html> hello.php
.html
<body>Hello world</body> <head>
.php
</html> <title>Hello</title>
.jpg
</head>
Module PHP <body>Hello world</body>
</html> ";
MySQL

8
Fonctionnement de PHP

Client Serveur

Demande de ressource

Traitement de la demande

La ressource est « .php »

Réseau Transfert de la demande au


module PHP

Exécution du script PHP sur


le serveur
Construction de la réponse

Réponse produite

Analyse de la réponse

Rendu graphique de la réponse


9
Programmer en PHP

Délimitation du code PHP dans le fichier .php :


▰ <?php Code PHP ?> Fermeture optionnelle
et déconseillée
▰ <script language="PHP">
Code PHP Confusion avec JavaScript
➔ à bannir !!
</script>
▰ <? Code PHP ?> short_open_tag Dépend de la configuration
du serveur
▰ <% Code PHP %> asp_tags ➔ à bannir !!
10
Eléments de syntaxe PHP

• La syntaxe de PHP est celle de la famille « C »


(C, C++, Java, …)

• Chaque instruction se termine par « ; »

• Commentaires:
/* jusqu’au prochain */
// jusqu’à la fin de la ligne
# jusqu’à la fin de la ligne

11
3
VARIABLES ET TYPES

12
Les variables et les types de données

Tout identificateur commence par « $ »


Les affectations sont réalisées grâce à « = »
Les types sont :
➢ Numérique entier : 12 ou réel : 1.54
➢ Chaîne: "Hello" ou ’Bonjour’
➢ Booléen: true, false (PHP 4)
➢ Tableau: $tab[2]=12
➢ Objet (PHP4, PHP5)
➢ Ressource
➢ NULL
13
Les variables et les types de données

• La « déclaration » d’une variable correspond à sa première affectation


• Le type d’une variable est dynamique et est déterminé par la valeur qui lui
est affectée
• Une variable possède donc :
$maVariable
- Un nom (commençant par $) int
- Un type dynamique 12
- Une valeur

14
Typage à l’affectation. Exemple

// Pas de déclaration préalable de variable

$test
$test = 1.5 ; string
array
float
int

"10"
1.5
12

$test = 12 ;

$test = array() ;

$test = "10" ;
15
Typage en fonction du contexte: Exemple

$total $nombre1 $nombre2

$nombre1 = 1.5 ; float float int

23.5 1.5 12
$nombre2 = 12 ;
$chaine1 $chaine2
$chaine1 = "10" ; string string
$chaine2 = 'coucou' ; float
Utilisé comme "10" "coucou"

$total = $nombre1 + $nombre2 + $chaine1 + $chaine2;


1.5 12 "10" 'coucou'

13.5 10.0

23.5 0.0

echo $total ; // 23.5 Réel 23.5


16
Modification de types

▰ Le type désiré peut être précisé : cast


▰ $variable = (nom_du_type)
valeur $a
int

10
$a = (int) "10" ; $b
string

"12"
$b = (string) 12 ; $c
float

12
$c = (float) $b ;
17
Définition de constantes

<?php
define("MA_CONSTANTE", "Bonjour à tous") ;

nom valeur

Définition d'une constante

echo MA_CONSTANTE ;

Utilisation de la constante 18
4
CHAÎNES DE CARACTÈRES

19
Substitution de variables dans les chaînes

▰ Guillemets doubles
$a="chaîne" ; chaîne
$b="voici une " . $a; voici une chaîne

▰ Guillemets simples
$a='chaîne' ; chaîne
$b='voici une ' . $a; voici une chaîne

20
La commande echo

• Naïvement, permet d’envoyer du texte au navigateur du client (« écrire » la page au format


HTML résultant de l’interprétation de PHP)

echo "Bonjour" ;
$nom= " Jhon " ;
echo "Bonjour $nom" ;

• Plus exactement, permet d’envoyer des octets au navigateur du client


- Contenu HTML, XML, CSS, JavaScript, …
- Données d'une image
- Contenu d'un ficher PDF, Flash, etc.

21
Hello world !
Interprétation du code PHP sur le serveur et
transmission du résultat au client
Serveur Navigateur
<?php <html>
$debut =" <html> <head>
<head> <title>hello</title>
<title>hello</title> </head>
<body>
</head>
Hello world!
<body> ";
</body>
$corps = "Hello world! "; </html>
$fin = " </body>
</html> ";
/* Envoi au client */
echo $debut.$corps.$fin ;

Impossible de voir le code PHP depuis le navigateur !!


22
5
Opérateurs

23
Concaténation de chaînes

• Permet d’assembler plusieurs chaînes


• Réalisé grâce à l’opérateur point : « . »

"Bonjour " . "Jhon"


→ vaut "Bonjour Jhon"

$nb = 6*2 ;
echo "Acheter " . $nb . " livres ";
→ vaut "Acheter 12 livres"

24
Les opérateurs arithmétiques

$a + $b Somme
$a - $b Différence
$a * $b Multiplication
$a / $b Division

$a % $b Modulo (Reste de la division entière)

25
Les opérateurs d’in- et de
dé-crémentation pré- et post-fixés

Retourne la valeur de $a puis


$a++
augmente la valeur de $a de 1
Augmente la valeur de $a de 1 puis
++$a retourne la nouvelle valeur de $a
Retourne la valeur de $a puis diminue
$a--
la valeur de $a de 1
Diminue la valeur de $a de 1 puis
--$a retourne la nouvelle valeur de $a
26
Les opérateurs de comparaison

$a == $b Vrai si égalité entre les valeurs de $a et $b

$a != $b Vrai si différence entre les valeurs de $a et $b

$a < $b Vrai si $a inférieur à $b

$a > $b Vrai si $a supérieur à $b

$a <= $b Vrai si $a inférieur ou égal à $b

$a >= $b Vrai si $a supérieur ou égal à $b

$a === $b Vrai si $a et $b identiques (valeur et type)

$a !== $b Vrai si $a et $b différents (valeur ou type) 27


Comparaison large / stricte
$a = 12 ; $b = "12" ; $c = 13.0 ;
$a
var_dump($a == $b) ; boolean true int

var_dump($a == $c) ; boolean false 12

var_dump($c == $b) ; boolean false $b


string
var_dump($a != $b) ; boolean false
var_dump($a != $c) ; "12"
boolean true
var_dump($c != $b) ; boolean true $c
float
var_dump($a === $b) ; boolean false
12
var_dump($a === $c) ; boolean false
var_dump($c === $b) ; boolean false
var_dump($a !== $b) ; boolean true
var_dump($a !== $c) ; boolean true
var_dump($c !== $b) ; boolean true
Les opérateurs logiques

[Expr1] and [Expr2] Vrai si [Expr1] et [Expr2] sont vraies

[Expr1] && [Expr2] idem

[Expr1] or [Expr2] Vrai si [Expr1] ou [Expr2] sont vraies

[Expr1] || [Expr2] idem


Vrai si [Expr1] ou [Expr2] sont vraies
[Expr1] xor [Expr2]
mais pas les deux
! [Expr1] Vrai si [Expr1] est non vraie
29
6
STRUCTURES DE CONTRÔLE

30
Structure de contrôle Si…Alors…Sinon…

if (condition)
{
/* Bloc d’instructions exécuté si la
condition est vraie */
} Optionnel
else
{
/* Bloc d’instructions exécuté si la
condition est fausse */
} 31
Structure de contrôle Tant que… faire…

while (condition)
{
/* Bloc d’instructions répété tant que
la condition est vraie */
}

do {
/* Bloc d’instructions exécuté une fois
puis répété tant que la condition est
vraie */
} while (condition) ;
32
Structure de contrôle Tant que… faire…

for (avant; condition; fin_chaque_itération)


{ /* Bloc d’instructions répété tant que la
condition est vraie */
}

Équivalent à :

avant ;
while (condition)
{ /* Bloc d’instructions répété tant que la
condition est vraie */
fin_chaque_itération ;
} 33
Structure de contrôle selon…

switch (val)
{
case v1:
instructions exécutées si val==v1
case v2:
case v3:
instructions exécutées si val==v2
ou si val==v3
ou si val==v1

default:
instructions dans tous les cas
}
▰ Fonctionne exactement comme une série de if/else avec comparaison
large
▰ val, v1, v2, … peut être de type int, float, string, NULL 34
L’instruction break

Permet de sortir d’une structure de contrôle


switch (val)
{
case v1:
instructions exécutées si val==v1
break; /* Sortie du switch si val==v1 */
case v2:
case v3:
instructions exécutées si val==v2 ou si val==v3 ou si val==v1
break; /* Sortie du switch si val==v2 ou val==v3*/
default:
instructions exécutées dans tous les cas
si val!=v1 et val!=v2 et val!=v3
}
Cas rendus exclusifs si break présent pour chaque case
Fonctionne exactement comme une série de if/else avec comparaison large 35
7
TABLEAUX

36
Principes généraux

▪ Un tableau PHP est en réalité une carte ordonnée


▪ Une carte associe des valeurs à des clés
▪ Un tableau PHP peut être vu comme une série ordonnées de valeurs (peu
importe leur type)
▪ Chaque valeur est étiquetée, repérée par une clé int ou string
▪ Ils sont dits associatifs
Clé 0 1 2 3
Valeur 12 15.2 "42" NULL

Clé "début" 12 "a" "valeur"


Valeur false 3 16 "bonjour" 37
Tableaux « classiques » : indexés

▰ Création / initialisation:
$tab1 = array(12, "fraise", 2.5);
$tab1b = [ 12, "fraise", 2.5 ];

$tab2[] = 12;
$tab2[] = "fraise";
$tab2[] = 2.5;

$tab3[0] = 12;
$tab3[1] = "fraise";
38
$tab3[2] = 2.5;
Tableaux associatifs : syntaxe

$tab5[ 'un' ] = 12;


$tab5['trois'] = "fraise"; Clé Valeur
$tab5["deux" ] = 2.5; "un" 12
$tab5[ 42 ] = "el5"; "trois" "fraise"

$tab6 = array( 'un' => 12, "deux" 2.5


'trois' => "fraise", 42 "el5"
"deux" => 2.5,
42 => "el5");

$tab7 = [ 'un' => 12, 'trois' => "fraise",


"deux" => 2.5, 42 => "el5" ];
39
Structure de contrôle « Pour chaque… »

▰ Pour parcourir un tableau associatif et par exemple afficher les valeurs les unes après les
autres, nous allons en revanche être obligés d’utiliser une boucle foreach qui est une boucle
créée spécialement pour les tableaux.
▰ Syntaxe:
foreach ($tableau as $element)
{
/* Bloc d’instructions répété pour chaque élément de $tableau */
/* Chaque élément de $tableau est accessible grâce à $element */
}
40
Parcours de tableau : foreach


$tab4[0] = 12;
$tab4[6] = "fraise"; …
$tab4[2] = 2.5; <p>Val: 12</p>
$tab4[5] = "el5"; <p>Val: fraise</p>
foreach($tab4 as $v) <p>Val: 2.5</p>
<p>Val: el5</p>
{ …
echo "<p>Val: $v</p>";
}

41
Tableaux associatifs

▰ Tableaux dont l’accès aux éléments n’est plus réalisé grâce à un index (0,1, …) mais
grâce à une clé de type entier ou chaîne.
▰ Exemples de clés:
$tab['un'] = 12;
$tab[205] = "bonjour";
$tab["la valeur"] = 3.0;
▰ Création
$tab = array( cle1 => val1, cle2 => val2, … );

$tab = [ cle1 => val1, cle2 => val2, … ];


42
Structure de contrôle « Pour chaque… »

foreach($tableau as $cle => $element)


{

/* Bloc d’instructions répété pour chaque élément de $tableau */

/* Chaque élément de $tableau est accessible grâce à $element */

/* La clé d’accès à chaque élément est donnée par $cle */

}
43
Parcours de tableau associatif

<?php
$html = ‘’;
$tab6 = array('un' => 12,
'trois' => "fraise",

"deux" => 2.5, <p>tab[un]:12</p>
42 => "el5"); <p>tab[trois]:fraise</p>
foreach ($tab6 as $cle => $val) <p>tab[deux]:2.5</p>
{ <p>tab[42]:el5</p>
$html .= "<p>tab[$cle]: $val</p>"; …
}

44
Tri d’un tableau associatif - ordre croissant

▰ Trier un tableau associatif par ordre croissant


▰ Vous pouvez utiliser la fonction asort() pour trier un tableau associatif par ordre
alphabétique selon la valeur dans un ordre croissant, tout en maintenant la relation
entre clé et valeur.
<?php
$langages = [
"p"=>"PHP",
"j"=>"Java",
"a"=>"Ada",
"h"=>"HTML",
"c"=>"CSS"];
asort($langages);
print_r($langages);
?> 45
Tri d’un tableau associatif - ordre décroissant

▰ Trier un tableau associatif par ordre décroissant


▰ Vous pouvez utiliser la fonction arsort() pour trier un tableau associatif par ordre
alphabétique selon la valeur dans un ordre décroissant, tout en maintenant la
relation entre clé et valeur.
<?php
$langages = [
"p"=>"PHP",
"j"=>"Java",
"a"=>"Ada",
"h"=>"HTML",
"c"=>"CSS"];
arsort($langages);
print_r($langages);
?> 46

Vous aimerez peut-être aussi