SlideShare une entreprise Scribd logo
$php->simplonBoulogne();
Introduction à la POO
Sommaire
• POO
• Création d’une classe et définir un objet
• Notions de propriétés et méthodes
• Héritage
• Challenge
POO
La programmation orienté objet est une tout autre manière de coder,
avant nous étions dans la programmation dis procédurale… Nous
exécutions des instructions les unes à la suite des autres.
Maintenant on travaille sur un environnement d’objets, on essaye
d’imaginer notre site comme étant un ensemble d’objets qui
interagisse entre eux.
Classes et objets
Une classe est un « template » définissant ce qu’il y a à l’intérieur
d’un objet.
Nous organisons dans notre classe nos constantes, functions etc…
Une fois que notre classe est définie nous allons créé notre premier
objet !
Vocabulaire
Attention, dans une classe, les fonctions sont appelées « Méthodes »
et les variables sont appelées « Propriétés »
Classe et objets
class Product { //Commence par une Majuscule
public $title; //Propriétés
function getTitle(){ //Méthodes
}
}
$p = new Product(); //Création d’un objet
Une classe
Créer un objet
$p = new Product();
On parle d’une instanciation d’une classe pour
créer un objet. (C’est beau…)
Appel d’une propriété
$p->titre;
On pointe vers la propriété (sans le ‘$’)
class Product {
public $title; //Propriétés
function getTitle(){ //Méthodes
}
}
$p = new Product(); //objet de la classe Product
$p->title(‘Harry Potter’);
echo $p->title;
Propriétés
Non recommandée…
Affectation
Visibilité des propriétés
• public : les propriétés peuvent être accessible depuis n’importe où
dans votre code
• protected : les propriétés peuvent être accessible seulement à
l’intérieur de la classe ET ses classes parentes et hérités
• private : les propriétés peuvent être accessible seulement à
l’intérieur de la classe.
Attention, si vous n’affectez aucune visibilité, par défaut ce sera
public
Pensez à le mettre malgré tout pour une meilleure lisibilité de votre
code notamment pour votre équipe
Visibilité des propriétés
class Personne {
public $FirstName = "Bill";
public $LastName = "Murphy";
private $Password = "Poppy";
public $Age = 29;
public $FavouriteColour = "Purple";
}
$bill = new Personne();
Propriétés Exemple
Appel d’une méthode
$p->getTitle();
On pointe vers une méthode
On n’oublie pas les parenthèses, sauf si
c’est pour appeler une propriété !
class Product {
public $title = ‘Harry Potter’;
function getTitle(){
return "Le nom du produit :" .$this->title;
}
}
$p = new Product();
$p->getTitle(); //Accès à la méthode
Méthodes
Création d’une
méthode
"$this" variable
Lorsque vous êtes à l’intérieur d’une méthode, PHP va
automatiquement affecter l’objet à la variable $this pour pouvoir
travailler avec les propriétés de la classe correspondante.
$this->title = $title; //Affecte le paramètre
$title à la propriété $title de la classe
Constructeur
Le constructeur est la fonction qui est appelée automatiquement par
la classe lorsque vous créez une nouvelle instance d'une classe à
l'aide de l'opérateur new.
$p = new Product("Le seigneur des anneaux");
Constructeur
class Product {
public $title = ‘Harry Potter’;
function __construct($title){
$this->title = $title;
}
function getTitle(){ … } //retourne le titre
}
$p = new Product("Le seigneur des anneaux");
$p->getTitle(); //Retourne quel titre ?
Héritage
L’héritage est une manière d’étendre une classe avec une nouvelle et
permet d’éviter la saisie de code répétitif.
Voiture Voiture électrique
Héritage
D.R.Y
Don’t Repeat Yourself
Héritage
class Voiture {
public $marque;
public $puissance;
function __construct($marque, $puissance){
$this->marque = $marque;
$this->puissance = $puissance;
}
function getMarque(){ … } //retourne la marque
}
$v = new Voiture("Renault","6CV");
$v->getMarque();
Héritage
class Electrique extends Voiture {
public $volt;
function __construct($marque, $puissance, $volt){
parent::__construct($marque, $puissance);
$this->volt = $volt;
}
function getVolt(){ … }
}
$ve = new Electrique("Renault","6CV","120V");
$ve->getMarque();
Challenge
Créer une base de donnée, puis une classe Connexion avec :
• un constructeur pour une connexion PDO à la base
• une méthode countTable qui prend une requête SQL en paramètre
et retourne le résultat
Ensuite dans un fichier .php, créez un nouvel objet en instanciant
Connexion et appelez la méthode en envoyant une requête sql avec
COUNT …
Some ressources
• http://www.hackingwithphp.com/
• https://secure.php.net/manual/fr/index.php
• https://openclassrooms.com/courses/programmez-en-
oriente-objet-en-php/introduction-a-la-poo

Contenu connexe

PPTX
PHPmsdmskdmskdmskdmksmdksdmkdmssdmksdmkmdskmsdk
PDF
Programmation orientée objet en PHP 5
PPT
PHP5 - POO
PPTX
S2-02-PHP-objet.pptx
PPTX
PHP_S4.pptx
ODP
Formation PHP avancé - Cake PHP
PDF
Cours php & Mysql - 4éme partie
PPT
programmation orienté objet c++
PHPmsdmskdmskdmskdmksmdksdmkdmssdmksdmkmdskmsdk
Programmation orientée objet en PHP 5
PHP5 - POO
S2-02-PHP-objet.pptx
PHP_S4.pptx
Formation PHP avancé - Cake PHP
Cours php & Mysql - 4éme partie
programmation orienté objet c++

Similaire à Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf (20)

DOCX
test doc
PDF
Programmation orientée objet en python.pdf
ODP
Patterns and OOP in PHP
PPT
PHP5 et Zend Framework
PPTX
Ch4HeritageSMI2015_2016.pptx
PDF
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
PDF
Résumé de la Programmation Orientée Objet (POO) avec Python, PHP et C#
PPTX
Cpp2 : classes et objets
PDF
Programmation orientée objet : Object, classe et encapsulation
PPTX
Lecture_1_Concepts-fondamentaux_P01.pptx
PDF
Alphorm.com Formation PHP 8 : Les bases de la POO
PDF
PHP 5 et la programmation objet
PDF
Ch4HeritageSMI2015_2016.pdf
PDF
Java - implémentation des concepts objets
ODP
Ecriture de classes javascript
PPTX
PPTX
Java-2eme partie.pptx
PDF
Chap 03 poo en java partie1
test doc
Programmation orientée objet en python.pdf
Patterns and OOP in PHP
PHP5 et Zend Framework
Ch4HeritageSMI2015_2016.pptx
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
Résumé de la Programmation Orientée Objet (POO) avec Python, PHP et C#
Cpp2 : classes et objets
Programmation orientée objet : Object, classe et encapsulation
Lecture_1_Concepts-fondamentaux_P01.pptx
Alphorm.com Formation PHP 8 : Les bases de la POO
PHP 5 et la programmation objet
Ch4HeritageSMI2015_2016.pdf
Java - implémentation des concepts objets
Ecriture de classes javascript
Java-2eme partie.pptx
Chap 03 poo en java partie1
Publicité

Plus de RihabBENLAMINE (20)

PPT
bq7ix-ARCHITECTUREeeeeee_DES_ORDINATEURS.ppt
PPT
20XX-XX.cours.01.adommlmmkkkkkmmmmmmk.ppt
PDF
Cours_de_Big_Data_LF2_IG_EbhkjbhkhfhSB.pdf
PDF
Technologie_Web_et_XMLIMPORTANTTTTTT.pdf
PDF
coursJavaOopmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.pdf
PPTX
Cours_TGC_11111111111111111111111111111111.pptx
PPTX
CM_Webbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.pptx
PPT
0242-formation-j2eereeeeeeeeeeeeeeeeeeeee.ppt
PPT
rferfergergergergergergergergergergergerger
PDF
545068251-Chapitre-3-Mongo-Mapreduce.pdf
PPTX
634092592-Untitledddddddddddddddddd.pptx
PPTX
751551154-LA-rrrrrRE-ALITE-VIRTUELLE.pptx
PPT
powerpointralitaugmente-111221163422-phpapp02.ppt
PDF
cours5,njkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk.pdf
PDF
Algorithmique_et_programmation_I_Plan_du.pdf
PDF
Cours7-Couche-Liaisonfzeffffffffffffffffffff.pdf
PPTX
216762808790_chap1fondementdesreseaux2023.pptx
PDF
Mobil-Intentsfdgdfgdfgdfgdfgdfgdfgdgdfgdf.pdf
PDF
cours-intentdgdgsdgsdgsdgsdgsdgsdgsdgs.pdf
PPTX
481436448-Virtualisation-Cloud-computing-2020-1-pptx.pptx
bq7ix-ARCHITECTUREeeeeee_DES_ORDINATEURS.ppt
20XX-XX.cours.01.adommlmmkkkkkmmmmmmk.ppt
Cours_de_Big_Data_LF2_IG_EbhkjbhkhfhSB.pdf
Technologie_Web_et_XMLIMPORTANTTTTTT.pdf
coursJavaOopmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.pdf
Cours_TGC_11111111111111111111111111111111.pptx
CM_Webbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.pptx
0242-formation-j2eereeeeeeeeeeeeeeeeeeeee.ppt
rferfergergergergergergergergergergergerger
545068251-Chapitre-3-Mongo-Mapreduce.pdf
634092592-Untitledddddddddddddddddd.pptx
751551154-LA-rrrrrRE-ALITE-VIRTUELLE.pptx
powerpointralitaugmente-111221163422-phpapp02.ppt
cours5,njkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk.pdf
Algorithmique_et_programmation_I_Plan_du.pdf
Cours7-Couche-Liaisonfzeffffffffffffffffffff.pdf
216762808790_chap1fondementdesreseaux2023.pptx
Mobil-Intentsfdgdfgdfgdfgdfgdfgdfgdgdfgdf.pdf
cours-intentdgdgsdgsdgsdgsdgsdgsdgsdgs.pdf
481436448-Virtualisation-Cloud-computing-2020-1-pptx.pptx
Publicité

Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf

  • 2. Sommaire • POO • Création d’une classe et définir un objet • Notions de propriétés et méthodes • Héritage • Challenge
  • 3. POO La programmation orienté objet est une tout autre manière de coder, avant nous étions dans la programmation dis procédurale… Nous exécutions des instructions les unes à la suite des autres. Maintenant on travaille sur un environnement d’objets, on essaye d’imaginer notre site comme étant un ensemble d’objets qui interagisse entre eux.
  • 4. Classes et objets Une classe est un « template » définissant ce qu’il y a à l’intérieur d’un objet. Nous organisons dans notre classe nos constantes, functions etc… Une fois que notre classe est définie nous allons créé notre premier objet !
  • 5. Vocabulaire Attention, dans une classe, les fonctions sont appelées « Méthodes » et les variables sont appelées « Propriétés »
  • 6. Classe et objets class Product { //Commence par une Majuscule public $title; //Propriétés function getTitle(){ //Méthodes } } $p = new Product(); //Création d’un objet Une classe
  • 7. Créer un objet $p = new Product(); On parle d’une instanciation d’une classe pour créer un objet. (C’est beau…)
  • 8. Appel d’une propriété $p->titre; On pointe vers la propriété (sans le ‘$’)
  • 9. class Product { public $title; //Propriétés function getTitle(){ //Méthodes } } $p = new Product(); //objet de la classe Product $p->title(‘Harry Potter’); echo $p->title; Propriétés Non recommandée… Affectation
  • 10. Visibilité des propriétés • public : les propriétés peuvent être accessible depuis n’importe où dans votre code • protected : les propriétés peuvent être accessible seulement à l’intérieur de la classe ET ses classes parentes et hérités • private : les propriétés peuvent être accessible seulement à l’intérieur de la classe.
  • 11. Attention, si vous n’affectez aucune visibilité, par défaut ce sera public Pensez à le mettre malgré tout pour une meilleure lisibilité de votre code notamment pour votre équipe Visibilité des propriétés
  • 12. class Personne { public $FirstName = "Bill"; public $LastName = "Murphy"; private $Password = "Poppy"; public $Age = 29; public $FavouriteColour = "Purple"; } $bill = new Personne(); Propriétés Exemple
  • 13. Appel d’une méthode $p->getTitle(); On pointe vers une méthode On n’oublie pas les parenthèses, sauf si c’est pour appeler une propriété !
  • 14. class Product { public $title = ‘Harry Potter’; function getTitle(){ return "Le nom du produit :" .$this->title; } } $p = new Product(); $p->getTitle(); //Accès à la méthode Méthodes Création d’une méthode
  • 15. "$this" variable Lorsque vous êtes à l’intérieur d’une méthode, PHP va automatiquement affecter l’objet à la variable $this pour pouvoir travailler avec les propriétés de la classe correspondante. $this->title = $title; //Affecte le paramètre $title à la propriété $title de la classe
  • 16. Constructeur Le constructeur est la fonction qui est appelée automatiquement par la classe lorsque vous créez une nouvelle instance d'une classe à l'aide de l'opérateur new. $p = new Product("Le seigneur des anneaux");
  • 17. Constructeur class Product { public $title = ‘Harry Potter’; function __construct($title){ $this->title = $title; } function getTitle(){ … } //retourne le titre } $p = new Product("Le seigneur des anneaux"); $p->getTitle(); //Retourne quel titre ?
  • 18. Héritage L’héritage est une manière d’étendre une classe avec une nouvelle et permet d’éviter la saisie de code répétitif. Voiture Voiture électrique
  • 20. Héritage class Voiture { public $marque; public $puissance; function __construct($marque, $puissance){ $this->marque = $marque; $this->puissance = $puissance; } function getMarque(){ … } //retourne la marque } $v = new Voiture("Renault","6CV"); $v->getMarque();
  • 21. Héritage class Electrique extends Voiture { public $volt; function __construct($marque, $puissance, $volt){ parent::__construct($marque, $puissance); $this->volt = $volt; } function getVolt(){ … } } $ve = new Electrique("Renault","6CV","120V"); $ve->getMarque();
  • 22. Challenge Créer une base de donnée, puis une classe Connexion avec : • un constructeur pour une connexion PDO à la base • une méthode countTable qui prend une requête SQL en paramètre et retourne le résultat Ensuite dans un fichier .php, créez un nouvel objet en instanciant Connexion et appelez la méthode en envoyant une requête sql avec COUNT …
  • 23. Some ressources • http://www.hackingwithphp.com/ • https://secure.php.net/manual/fr/index.php • https://openclassrooms.com/courses/programmez-en- oriente-objet-en-php/introduction-a-la-poo