SlideShare une entreprise Scribd logo
1  sur  30
Développement Web Dynamique
avec PHP/Laravel
Présenté par : JADLI AISSAM
jadliaissam@gmail.com
/in/jadli-aissam-86a69843 SÉANCE 4
SOMMAIRE
Les Fonctions
Programmation
Orienté Objet
Les
Formulaires
Mr. JADLI AISSAM 2
Les Fonctions
Mr. JADLI AISSAM 3
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
une fonction peut être définie n’importe où dans un script.
function mafonction($x,$y,...)
{
//code de définition de la fonction
return $var;
}
mafonction($a,$b,...)
ou encore
mafonction(4,5,...)
La Syntaxe pour appeler la fonction:
Syntaxe pour déclarer une fonction :
Les Fonctions
Mr. JADLI AISSAM 4
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
Tous les types de variables peuvent être renvoyés (tableaux et objets compris);
Exemple :
function carre($nombre) {
return $nombre * $nombre ;
}
echo carre(3) ; # affiche la valeur 9
Les Fonctions
Mr. JADLI AISSAM 5
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
Les fonctions en PHP supportent :
 le passage d’arguments par valeur (méthode par défaut),
 le passage d’arguments par référence,
 les valeurs par défaut des arguments.
Une liste d’arguments dont le nombre est variable ne fonctionne pas en PHP mais un
résultat similaire peut être obtenu en utilisant un tableau ;
Passage par valeur
Mr. JADLI AISSAM 6
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
 C’est la méthode par défaut ;
 Les variables changent leur valeur au sein de la fonction sans que ceci ait des
répercussions à l’extérieur de celle-ci ;
function f1($nombre) {
$nombre += 2 ;
echo $nombre ;
}
$x = 3 ;
f1($x) ; # affiche 5
echo $x ; # affiche 3
Exemple :
Passage par Reference
Mr. JADLI AISSAM 7
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
Les variables sont affectées par des changements au sein de la fonction de façon
permanente en ajoutant un & devant le nom de la variable dans la définition de la
fonction
function f2( & $nombre) {
$nombre -= 2 ;
echo $nombre ;
}
$x = 3 ;
f1( $x) ; # affiche 5
echo $x ; # affiche 3
f2($yx) ; # affiche 1
echo $x ; # affiche 1
Exemple :
Valeurs par défaut
Mr. JADLI AISSAM 8
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
function annotation($type = "assez bien") {
echo "Vous avez". $type ." travaillé" ;
}
annotation("mal") ; # affiche Vous avez mal travaillé
annotation() ; # affiche Vous avez assez bien travaillé
Exemple :
 PHP permet, comme en C++, de spécifier des valeurs par défaut
pour les arguments de type scalaire ;
 Il suffit de spécifier la valeur par défaut avec un = dans la
déclaration de la fonction ;
Mode Strict
Mr. JADLI AISSAM 9
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
P.O.O
Mr. JADLI AISSAM 10
Person
+nom
+age
void afficher ()
void setAge ()
void getAge ()
Classe en UML Objets de la classe
<?php
class Person {
public $nom;
public $age;
function setnom($x) {
$this->nom = $x;
}
function getnom() {
return $this->nom;
} }
?>
En PHP, on définit une classe de la façon suivante :
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
P.O.O
Mr. JADLI AISSAM 11
En PHP, on définit une classe de la façon suivante :
<?php
class Person {
public $nom;
public $age;
function setnom($x) {
$this->nom = $x;
}
function getnom() {
return $this->nom;
} }
$p1 = new Person();
$p2 = new Person();
$p1->setnom('Karim');
$p2->setnom('Laila');
echo $p1->getnom();
echo "<br>";
echo $p2->getnom();
?>
Person
+nom
+age
void afficher ()
void setAge ()
void getAge ()
Classe en UML
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
P.O.O
Mr. JADLI AISSAM 12
Exemple
<?php
class Person {
public $nom;
public $age;
function setnom($x) {
$this->nom = $x;
}
function getnom() {
return $this->nom;
}
function setage($x) {
$this->age = $x;
}
function getage() {
return $this->age;
}
function afficher() {
echo "<br>";
echo "le nom =",$this-
>nom," et Age =",$this->age;
echo "<br>";
} }
$p1 = new Person();
$p2 = new Person();
$p1->setnom('Karim');
$p2->setnom('Laila');
$p1->setage(25);
$p2->setage(24);
echo $p1->getnom();
echo "<br>";
echo $p1->getage();
echo "<br>";
echo $p2->getnom();
echo "<br>";
echo $p2->getage();
$p1->afficher();
$p2->afficher(); ?>
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
P.O.O
Mr. JADLI AISSAM 13
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
voiture
-code
-marque
-puissance
-kilometrage
void mod_puiss (int) ;
void mod_kilo (int) ;
void afficher () ;
Implémenter la classe voiture en
langage PHP avec trois instances
différentes?
Ecrire un programme pour tester les
deux instances?
P.O.O
Mr. JADLI AISSAM 14
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
une classe –souvent comporte trois type des méthodes , à savoir :
 Les constructeurs ;
 Les accesseurs (en anglais accessor) qui fournissent des informations relatives à
l’état d’un objet, c’est-à-dire aux valeurs de certains de ses attributs
(généralement privés) sans les modifier ;
get_x(self)
get_nom(self)
 Les mutateurs (en anglais mutator) qui modifient l’état d’un objet, donc les
valeurs de certains de ses attributs.
set_y(self,y)
set_nom(self,v_nom)
P.O.O
Mr. JADLI AISSAM 15
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
<?php
class Person {
public $nom;
public $age;
function __construct($x,$y) {
$this->nom = $x;
$this->age = $y; }
function afficher() {
echo "<br>";
echo "le nom =",$this->nom," et Age =",$this->age;
echo "<br>"; } }
$p1 = new Person('Karim',25);
$p2 = new Person('Laila',24);
$p1->afficher();
$p2->afficher();
?>
Héritage
Mr. JADLI AISSAM 16
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
étudiant
enseignante
employé
nom
adresse
cnss
nom
adresse
cnops
Nom
adresse
nom
adresse
cne
Héritage
Mr. JADLI AISSAM 17
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
Héritage en POO = Quand
une classe dérive d'une
autre classe.
Une classe héritée est
définie à l'aide du mot-clé
extend.
<?php
class Person {
public $nom;
public $age;
function __construct($x,$y) { }
function afficher() { }
}
class employe extends Person {
public $job;
function __construct($x,$y,$z) {
Person::__construct($x,$y);
$this->job = $z;
}
function afficher() {
Person::afficher();
echo "la fonction =",$this->job;
}
}
?>
Redéfinition
$p1 = new Person('Karim',25);
$p2 = new employe('Laila',24,"Manger");
$p1->afficher();
$p2->afficher();
Polymorphisme
Mr. JADLI AISSAM 18
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
<?php
class Person {
public $nom;
public $age;
function __construct($x,$y) {
$this->nom = $x;
$this->age = $y; }
function afficher() {
echo "<br>";
echo "le nom =",$this->nom," et Age =",$this->age;
echo "<br>"; } }
class employe extends Person {
public $job;
function __construct($x,$y,$z) {
Person::__construct($x,$y);
$this->job = $z; }
function afficher() {
echo "<br>";
Person::afficher();
echo "la fonction =",$this->job;
} } ?>
<?php
$p1 = new Person('Karim',25);
$p2 = new employe('Laila',24,"Manger");
$p1->afficher();
$p2->afficher();
?>
Méthodes Statiques
Mr. JADLI AISSAM 19
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
Les méthodes statiques peuvent être appelées directement, sans créer d'instance de classe.
<?php
class ClassName {
public static function staticMethod() {
echo "Hello World!";
}
}
ClassName::staticMethod();
?>
<?php
class greeting {
public static function welcome() {
echo "Hello World!";
}
}
class SomeOtherClass {
public function message() {
greeting::welcome();
}
}
?>
Attributs Statiques
Mr. JADLI AISSAM 20
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
Les propriétés statiques peuvent être appelées directement, sans créer d'instance de classe.
<?php
class ClassName {
public static $staticProp = "W3Schools";
}
ClassName::staticProp();
?>
<?php
class pi {
public static $value=3.14159;
public function staticValue() {
return self::$value;
}
}
$pi = new pi();
echo $pi->staticValue();
?>
Les Formulaires
Mr. JADLI AISSAM 21
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
PHP permet de gérer efficacement les formulaires HTML.
formulaire.php/html cible.php
Action
Fonctionnement d'un formulaire
Les Formulaires
Mr. JADLI AISSAM 22
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
PHP permet de gérer efficacement les formulaires HTML.
<form action="action.php" method="post">
<p>Votre nom : <input type="text" name="nom" /></p>
<p>Votre âge : <input type="text" name="age" /></p>
<p><input type="submit" value="OK"></p>
</form>
Bonjour, <?php echo ($_POST['nom']); ?>.
Tu as <?php echo (int)$_POST['age']; ?> ans.
Les Formulaires
Mr. JADLI AISSAM 23
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
Il existe de nombreuses méthodes, les plus courantes étant GET, HEAD et POST :
 POST: Cette méthode est utilisée pour transmettre des données en vue d'un traitement à
une ressource (le plus souvent depuis un formulaire HTML).
 GET : Une requête GET récupère les données à partir le serveur.
 HEAD : Cette méthode ne demande que des informations sur la ressource, sans demander
la ressource elle-même.
 PUT : Cette méthode permet de remplacer ou d'ajouter une ressource sur le serveur.
 DELETE : Cette méthode permet de supprimer une ressource du serveur.
Les Formulaires
Mr. JADLI AISSAM 24
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>
<form action="welcome_get.php" method="get">
Nom: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
Les Formulaires
Mr. JADLI AISSAM 25
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
<form action='form_list.php' method=post>
<select name="choix">
<option value="choix1">Choix 1</option>
<option value="choix2">Choix 2</option>
<option value="choix3">Choix 3</option>
<option value="choix4">Choix 4</option>
</select>
<input type="submit" Value="send">
</form>
<?php
echo "Votre choix est ",$_POST["choix"];
?>
Les Formulaires
Mr. JADLI AISSAM 26
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
<form action='form_case.php' method=post>
<input type="checkbox" name="case[]" value="case1" /> Choix1
<input type="checkbox" name="case[]" value="case2" /> Choix2
<input type="checkbox" name="case[]" value="case3" /> Choix3
<input type="submit" Value="send">
</form>
<?php
for($i=0;$i<count($_POST["case"]);$i++)
{
if(trim($_POST["case"][$i]) != "")
{ echo $_POST["case"][$i]."<br>";}
}
?>
Les Formulaires
Mr. JADLI AISSAM 27
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
<form method="post" action="f2.php">
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<br><br>
<input type="submit" name="submit" value="Send">
</form>
<?php
echo "<br>";
echo $_post["gender"];
?>
Les Formulaires
Mr. JADLI AISSAM 28
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
<form method="post" action="verif.php">
Votre email : <input type="text" name="email" size="20">
<input type="submit" value="OK">
</form>
<?php
$email = $_POST['email'];
$point = strpos($email,".");
$aroba = strpos($email,"@");
if($point=="")
{echo "Votre email doit comporter un <b>point</b>";}
elseif($aroba=='')
{echo "Votre email doit comporter un <b>'@'</b>";}
Else {echo "Votre email est:
'<a href="mailto:"."$email".""><b>$email</b></a>'";}?>
Les Formulaires
Mr. JADLI AISSAM 29
L e s F o r m u l a i r e s
L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
<form method="post" action="verif.php">
Votre email : <input type="text" name="email" size="20">
<input type="submit" value="OK">
</form>
<?php
$email = $_POST['email'];
$point = strpos($email,".");
$aroba = strpos($email,"@");
if($point=="")
{echo "Votre email doit comporter un <b>point</b>";}
elseif($aroba=='')
{echo "Votre email doit comporter un <b>'@'</b>";}
Else {echo "Votre email est:
'<a href="mailto:"."$email".""><b>$email</b></a>'";}?>
Erreur n°1 : Votre email doit comporter un point !
Erreur n°2 : Votre email doit comporter un '@' !
Si pas d'erreur : Votre email est : email@email.com
TRAVAUX PRATIQUES
Mr. JADLI AISSAM 30

Contenu connexe

Similaire à PHP_S4.pptx

Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINEIntroduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINEMarouan OMEZZINE
 
Les patrons de conception du composant Form
Les patrons de conception du composant FormLes patrons de conception du composant Form
Les patrons de conception du composant FormVladyslav Riabchenko
 
PHP - get started
PHP - get startedPHP - get started
PHP - get startedmazenovi
 
Patterns and OOP in PHP
Patterns and OOP in PHPPatterns and OOP in PHP
Patterns and OOP in PHPjulien pauli
 
PHP (Partie I) Par Mahdi Ben Alaya
PHP (Partie I) Par Mahdi Ben AlayaPHP (Partie I) Par Mahdi Ben Alaya
PHP (Partie I) Par Mahdi Ben AlayaMahdi Ben Alaya
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfRihabBENLAMINE
 
COURS PHP.pptx
COURS PHP.pptxCOURS PHP.pptx
COURS PHP.pptxtokikun
 
Meet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireMeet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireJulien Vinber
 
Javascript un langage supérieur
Javascript un langage supérieurJavascript un langage supérieur
Javascript un langage supérieurFredy Fadel
 
Developpement web dynamique_Base de donnees.pdf
Developpement web dynamique_Base de donnees.pdfDeveloppement web dynamique_Base de donnees.pdf
Developpement web dynamique_Base de donnees.pdfrachidimstapha
 

Similaire à PHP_S4.pptx (20)

Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINEIntroduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
 
test doc
test doctest doc
test doc
 
Les patrons de conception du composant Form
Les patrons de conception du composant FormLes patrons de conception du composant Form
Les patrons de conception du composant Form
 
PHP - get started
PHP - get startedPHP - get started
PHP - get started
 
Cours php
Cours php Cours php
Cours php
 
Cours php
Cours phpCours php
Cours php
 
PHP.pptx
PHP.pptxPHP.pptx
PHP.pptx
 
Patterns and OOP in PHP
Patterns and OOP in PHPPatterns and OOP in PHP
Patterns and OOP in PHP
 
PHP (Partie I) Par Mahdi Ben Alaya
PHP (Partie I) Par Mahdi Ben AlayaPHP (Partie I) Par Mahdi Ben Alaya
PHP (Partie I) Par Mahdi Ben Alaya
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdf
 
COURS PHP.pptx
COURS PHP.pptxCOURS PHP.pptx
COURS PHP.pptx
 
Php4 Mysql
Php4 MysqlPhp4 Mysql
Php4 Mysql
 
Drools
DroolsDrools
Drools
 
Nouveautés php 7
Nouveautés php 7Nouveautés php 7
Nouveautés php 7
 
Meet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireMeet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaire
 
Algo poo ts
Algo poo tsAlgo poo ts
Algo poo ts
 
Javascript un langage supérieur
Javascript un langage supérieurJavascript un langage supérieur
Javascript un langage supérieur
 
Php1
Php1Php1
Php1
 
Developpement web dynamique_Base de donnees.pdf
Developpement web dynamique_Base de donnees.pdfDeveloppement web dynamique_Base de donnees.pdf
Developpement web dynamique_Base de donnees.pdf
 
Anatomie d'une typeclass
Anatomie d'une typeclassAnatomie d'une typeclass
Anatomie d'une typeclass
 

Dernier

Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 

Dernier (10)

Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 

PHP_S4.pptx

  • 1. Développement Web Dynamique avec PHP/Laravel Présenté par : JADLI AISSAM jadliaissam@gmail.com /in/jadli-aissam-86a69843 SÉANCE 4
  • 3. Les Fonctions Mr. JADLI AISSAM 3 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t une fonction peut être définie n’importe où dans un script. function mafonction($x,$y,...) { //code de définition de la fonction return $var; } mafonction($a,$b,...) ou encore mafonction(4,5,...) La Syntaxe pour appeler la fonction: Syntaxe pour déclarer une fonction :
  • 4. Les Fonctions Mr. JADLI AISSAM 4 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t Tous les types de variables peuvent être renvoyés (tableaux et objets compris); Exemple : function carre($nombre) { return $nombre * $nombre ; } echo carre(3) ; # affiche la valeur 9
  • 5. Les Fonctions Mr. JADLI AISSAM 5 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t Les fonctions en PHP supportent :  le passage d’arguments par valeur (méthode par défaut),  le passage d’arguments par référence,  les valeurs par défaut des arguments. Une liste d’arguments dont le nombre est variable ne fonctionne pas en PHP mais un résultat similaire peut être obtenu en utilisant un tableau ;
  • 6. Passage par valeur Mr. JADLI AISSAM 6 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t  C’est la méthode par défaut ;  Les variables changent leur valeur au sein de la fonction sans que ceci ait des répercussions à l’extérieur de celle-ci ; function f1($nombre) { $nombre += 2 ; echo $nombre ; } $x = 3 ; f1($x) ; # affiche 5 echo $x ; # affiche 3 Exemple :
  • 7. Passage par Reference Mr. JADLI AISSAM 7 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t Les variables sont affectées par des changements au sein de la fonction de façon permanente en ajoutant un & devant le nom de la variable dans la définition de la fonction function f2( & $nombre) { $nombre -= 2 ; echo $nombre ; } $x = 3 ; f1( $x) ; # affiche 5 echo $x ; # affiche 3 f2($yx) ; # affiche 1 echo $x ; # affiche 1 Exemple :
  • 8. Valeurs par défaut Mr. JADLI AISSAM 8 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t function annotation($type = "assez bien") { echo "Vous avez". $type ." travaillé" ; } annotation("mal") ; # affiche Vous avez mal travaillé annotation() ; # affiche Vous avez assez bien travaillé Exemple :  PHP permet, comme en C++, de spécifier des valeurs par défaut pour les arguments de type scalaire ;  Il suffit de spécifier la valeur par défaut avec un = dans la déclaration de la fonction ;
  • 9. Mode Strict Mr. JADLI AISSAM 9 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
  • 10. P.O.O Mr. JADLI AISSAM 10 Person +nom +age void afficher () void setAge () void getAge () Classe en UML Objets de la classe <?php class Person { public $nom; public $age; function setnom($x) { $this->nom = $x; } function getnom() { return $this->nom; } } ?> En PHP, on définit une classe de la façon suivante : L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
  • 11. P.O.O Mr. JADLI AISSAM 11 En PHP, on définit une classe de la façon suivante : <?php class Person { public $nom; public $age; function setnom($x) { $this->nom = $x; } function getnom() { return $this->nom; } } $p1 = new Person(); $p2 = new Person(); $p1->setnom('Karim'); $p2->setnom('Laila'); echo $p1->getnom(); echo "<br>"; echo $p2->getnom(); ?> Person +nom +age void afficher () void setAge () void getAge () Classe en UML L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
  • 12. P.O.O Mr. JADLI AISSAM 12 Exemple <?php class Person { public $nom; public $age; function setnom($x) { $this->nom = $x; } function getnom() { return $this->nom; } function setage($x) { $this->age = $x; } function getage() { return $this->age; } function afficher() { echo "<br>"; echo "le nom =",$this- >nom," et Age =",$this->age; echo "<br>"; } } $p1 = new Person(); $p2 = new Person(); $p1->setnom('Karim'); $p2->setnom('Laila'); $p1->setage(25); $p2->setage(24); echo $p1->getnom(); echo "<br>"; echo $p1->getage(); echo "<br>"; echo $p2->getnom(); echo "<br>"; echo $p2->getage(); $p1->afficher(); $p2->afficher(); ?> L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t
  • 13. P.O.O Mr. JADLI AISSAM 13 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t voiture -code -marque -puissance -kilometrage void mod_puiss (int) ; void mod_kilo (int) ; void afficher () ; Implémenter la classe voiture en langage PHP avec trois instances différentes? Ecrire un programme pour tester les deux instances?
  • 14. P.O.O Mr. JADLI AISSAM 14 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t une classe –souvent comporte trois type des méthodes , à savoir :  Les constructeurs ;  Les accesseurs (en anglais accessor) qui fournissent des informations relatives à l’état d’un objet, c’est-à-dire aux valeurs de certains de ses attributs (généralement privés) sans les modifier ; get_x(self) get_nom(self)  Les mutateurs (en anglais mutator) qui modifient l’état d’un objet, donc les valeurs de certains de ses attributs. set_y(self,y) set_nom(self,v_nom)
  • 15. P.O.O Mr. JADLI AISSAM 15 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t <?php class Person { public $nom; public $age; function __construct($x,$y) { $this->nom = $x; $this->age = $y; } function afficher() { echo "<br>"; echo "le nom =",$this->nom," et Age =",$this->age; echo "<br>"; } } $p1 = new Person('Karim',25); $p2 = new Person('Laila',24); $p1->afficher(); $p2->afficher(); ?>
  • 16. Héritage Mr. JADLI AISSAM 16 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t étudiant enseignante employé nom adresse cnss nom adresse cnops Nom adresse nom adresse cne
  • 17. Héritage Mr. JADLI AISSAM 17 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t Héritage en POO = Quand une classe dérive d'une autre classe. Une classe héritée est définie à l'aide du mot-clé extend. <?php class Person { public $nom; public $age; function __construct($x,$y) { } function afficher() { } } class employe extends Person { public $job; function __construct($x,$y,$z) { Person::__construct($x,$y); $this->job = $z; } function afficher() { Person::afficher(); echo "la fonction =",$this->job; } } ?> Redéfinition $p1 = new Person('Karim',25); $p2 = new employe('Laila',24,"Manger"); $p1->afficher(); $p2->afficher();
  • 18. Polymorphisme Mr. JADLI AISSAM 18 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t <?php class Person { public $nom; public $age; function __construct($x,$y) { $this->nom = $x; $this->age = $y; } function afficher() { echo "<br>"; echo "le nom =",$this->nom," et Age =",$this->age; echo "<br>"; } } class employe extends Person { public $job; function __construct($x,$y,$z) { Person::__construct($x,$y); $this->job = $z; } function afficher() { echo "<br>"; Person::afficher(); echo "la fonction =",$this->job; } } ?> <?php $p1 = new Person('Karim',25); $p2 = new employe('Laila',24,"Manger"); $p1->afficher(); $p2->afficher(); ?>
  • 19. Méthodes Statiques Mr. JADLI AISSAM 19 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t Les méthodes statiques peuvent être appelées directement, sans créer d'instance de classe. <?php class ClassName { public static function staticMethod() { echo "Hello World!"; } } ClassName::staticMethod(); ?> <?php class greeting { public static function welcome() { echo "Hello World!"; } } class SomeOtherClass { public function message() { greeting::welcome(); } } ?>
  • 20. Attributs Statiques Mr. JADLI AISSAM 20 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t Les propriétés statiques peuvent être appelées directement, sans créer d'instance de classe. <?php class ClassName { public static $staticProp = "W3Schools"; } ClassName::staticProp(); ?> <?php class pi { public static $value=3.14159; public function staticValue() { return self::$value; } } $pi = new pi(); echo $pi->staticValue(); ?>
  • 21. Les Formulaires Mr. JADLI AISSAM 21 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t PHP permet de gérer efficacement les formulaires HTML. formulaire.php/html cible.php Action Fonctionnement d'un formulaire
  • 22. Les Formulaires Mr. JADLI AISSAM 22 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t PHP permet de gérer efficacement les formulaires HTML. <form action="action.php" method="post"> <p>Votre nom : <input type="text" name="nom" /></p> <p>Votre âge : <input type="text" name="age" /></p> <p><input type="submit" value="OK"></p> </form> Bonjour, <?php echo ($_POST['nom']); ?>. Tu as <?php echo (int)$_POST['age']; ?> ans.
  • 23. Les Formulaires Mr. JADLI AISSAM 23 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t Il existe de nombreuses méthodes, les plus courantes étant GET, HEAD et POST :  POST: Cette méthode est utilisée pour transmettre des données en vue d'un traitement à une ressource (le plus souvent depuis un formulaire HTML).  GET : Une requête GET récupère les données à partir le serveur.  HEAD : Cette méthode ne demande que des informations sur la ressource, sans demander la ressource elle-même.  PUT : Cette méthode permet de remplacer ou d'ajouter une ressource sur le serveur.  DELETE : Cette méthode permet de supprimer une ressource du serveur.
  • 24. Les Formulaires Mr. JADLI AISSAM 24 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t Welcome <?php echo $_GET["name"]; ?><br> Your email address is: <?php echo $_GET["email"]; ?> <form action="welcome_get.php" method="get"> Nom: <input type="text" name="name"><br> E-mail: <input type="text" name="email"><br> <input type="submit"> </form>
  • 25. Les Formulaires Mr. JADLI AISSAM 25 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t <form action='form_list.php' method=post> <select name="choix"> <option value="choix1">Choix 1</option> <option value="choix2">Choix 2</option> <option value="choix3">Choix 3</option> <option value="choix4">Choix 4</option> </select> <input type="submit" Value="send"> </form> <?php echo "Votre choix est ",$_POST["choix"]; ?>
  • 26. Les Formulaires Mr. JADLI AISSAM 26 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t <form action='form_case.php' method=post> <input type="checkbox" name="case[]" value="case1" /> Choix1 <input type="checkbox" name="case[]" value="case2" /> Choix2 <input type="checkbox" name="case[]" value="case3" /> Choix3 <input type="submit" Value="send"> </form> <?php for($i=0;$i<count($_POST["case"]);$i++) { if(trim($_POST["case"][$i]) != "") { echo $_POST["case"][$i]."<br>";} } ?>
  • 27. Les Formulaires Mr. JADLI AISSAM 27 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t <form method="post" action="f2.php"> Gender: <input type="radio" name="gender" value="female">Female <input type="radio" name="gender" value="male">Male <br><br> <input type="submit" name="submit" value="Send"> </form> <?php echo "<br>"; echo $_post["gender"]; ?>
  • 28. Les Formulaires Mr. JADLI AISSAM 28 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t <form method="post" action="verif.php"> Votre email : <input type="text" name="email" size="20"> <input type="submit" value="OK"> </form> <?php $email = $_POST['email']; $point = strpos($email,"."); $aroba = strpos($email,"@"); if($point=="") {echo "Votre email doit comporter un <b>point</b>";} elseif($aroba=='') {echo "Votre email doit comporter un <b>'@'</b>";} Else {echo "Votre email est: '<a href="mailto:"."$email".""><b>$email</b></a>'";}?>
  • 29. Les Formulaires Mr. JADLI AISSAM 29 L e s F o r m u l a i r e s L e s F o n c t i o n s P r o g ra m m a t i o n O r i e n t é O b j e t <form method="post" action="verif.php"> Votre email : <input type="text" name="email" size="20"> <input type="submit" value="OK"> </form> <?php $email = $_POST['email']; $point = strpos($email,"."); $aroba = strpos($email,"@"); if($point=="") {echo "Votre email doit comporter un <b>point</b>";} elseif($aroba=='') {echo "Votre email doit comporter un <b>'@'</b>";} Else {echo "Votre email est: '<a href="mailto:"."$email".""><b>$email</b></a>'";}?> Erreur n°1 : Votre email doit comporter un point ! Erreur n°2 : Votre email doit comporter un '@' ! Si pas d'erreur : Votre email est : email@email.com