PHP objet : Différence entre versions

De Wiki NCad
Aller à : navigation, rechercher
Ligne 15 : Ligne 15 :
 
Nous utilison l'exemple d'un bateau
 
Nous utilison l'exemple d'un bateau
  
<?php
+
<?php
class bateau <br />
+
class bateau
{
+
{
: private $_carburant;  <span style="color:green;">// quantitée de carburant</span>
+
  private $_carburant;  <span style="color:green;">// quantitée de carburant</span>
: private $_localisation;  <span style="color:green;">// sa localisation</span>
+
  private $_localisation;  <span style="color:green;">// sa localisation</span>
: private $_fret;  <span style="color:green;">// le nombre de marchandises dans la cale</span>
+
  private $_fret;  <span style="color:green;">// le nombre de marchandises dans la cale</span>
: private $_couleur;  <span style="color:green;">// la couleur du bateau</span>
+
  private $_couleur;  <span style="color:green;">// la couleur du bateau</span>
 
+
  public function setfioul() <span style="color:green;">// methode pour remplir ou vider le reservoir (de x litres)</span>
: public function fioul() <span style="color:green;">// methode pour remplir ou vider le reservoir (de x litres)</span>
+
  {
{
+
:
+
  }
}
+
       
:       
+
  public function deplacer() <span style="color:green;">//méthode pour deplacer la bateau</span>
public function deplacer() <span style="color:green;">//méthode pour deplacer la bateau</span>
+
  {
{
+
:
+
  }
}
+
       
:       
+
  public function charger() <span style="color:green;">// méthode pour charger la cale (de x marchandise)</span>
public function charger() <span style="color:green;">// méthode pour charger la cale (de x marchandise)</span>
+
  {
{
+
:
+
  }
}
+
:
+
  public function decharger() <span style="color:green;">// méthode pour vider la cale (de x marchandise)</span>
public function decharger() <span style="color:green;">// méthode pour vider la cale (de x marchandise)</span>
+
  {  
{
+
:
+
  }
}
+
  public function setCouleur() <span style="color:green;">// méthode pour vider la cale (de x marchandise)</span>
public function couleur() <span style="color:green;">// méthode pour vider la cale (de x marchandise)</span>
+
  {
{
+
:
+
  }
}
+
}
}
+
?>
?>
+
  
  
Ligne 55 : Ligne 54 :
 
voici une methode que nous definissons, on la placeras dans la classe bateau
 
voici une methode que nous definissons, on la placeras dans la classe bateau
  
public function direCoucou()<br />
+
public function direCoucou()<br />
{
+
{
echo 'Coucou !';
+
  echo 'Coucou !';
}
+
}
  
  
Ligne 65 : Ligne 64 :
 
Un objet est donc ce qui utilise la classe pour se definir.
 
Un objet est donc ce qui utilise la classe pour se definir.
  
: $surcouf = new bateau(); <span style="color:green;"> //$surcouf est un objet de type bateau.</span>
+
  $surcouf = new bateau(); <span style="color:green;"> //$surcouf est un objet de type bateau.</span>
  
 
===Appeler une methode de l'objet===
 
===Appeler une methode de l'objet===
Ligne 71 : Ligne 70 :
 
pour appeler une methode, il faut déja avoir crée l'objet, sinon ca marche moins bien.<br />
 
pour appeler une methode, il faut déja avoir crée l'objet, sinon ca marche moins bien.<br />
  
: $surcouf->direCoucou();
+
$surcouf->direCoucou();
 
ici on appel la methode direCoucou de $surcouf, cette methode affiche "Coucou !" a l'écran. c'est sur ce n'est pas très utile, mais on voit le principe.
 
ici on appel la methode direCoucou de $surcouf, cette methode affiche "Coucou !" a l'écran. c'est sur ce n'est pas très utile, mais on voit le principe.
  
Ligne 83 : Ligne 82 :
 
pour modifier un attribut, on cree une methode de type mutateur en mettant "set" dans son nom. Ce n'est pas obligatoire mais c'est une convention.
 
pour modifier un attribut, on cree une methode de type mutateur en mettant "set" dans son nom. Ce n'est pas obligatoire mais c'est une convention.
  
public function setFioul($fioul)
+
public function setFioul($fioul)
  {
+
{
    $_carburant = $fioul; <span style="color:green;"> //l'attribut $_carburant = l'argument $fioul.</span>
+
  $_carburant = $fioul; <span style="color:green;"> //l'attribut $_carburant = l'argument $fioul.</span>
  }
+
}
  
 
====Lire un attribut====
 
====Lire un attribut====
Ligne 92 : Ligne 91 :
 
pour lire un attribut, on cree une methode de type accesseur en la nommant du nom de l'attribut qu'elle renvoit. c'est aussi une convention.
 
pour lire un attribut, on cree une methode de type accesseur en la nommant du nom de l'attribut qu'elle renvoit. c'est aussi une convention.
  
public function getFioul($fioul)
+
public function getFioul($fioul)
  {
+
{
    $_carburant = $fioul; <span style="color:green;"> //l'attribut $_carburant = l'argument $fioul.</span>
+
  $_carburant = $fioul; <span style="color:green;"> //l'attribut $_carburant = l'argument $fioul.</span>
  }
+
}
 +
 
 +
====Le constructeur====
 +
 
 +
Le constructeur est une methode qui définit l'état des attributs quand on crée l'objet. Dé qu'on crée un objet, cette methode est appelé.<br />
 +
On est obligé de l'appeler __construct (avec deux _)
 +
 
 +
public function __construct($fioul, $couleur)
 +
{
 +
  echo"bateau crée";
 +
  $this->setFioul($fioul); <span style="color:green;"> //initialise le carburant avec la valeur de l'argument $fioul par la methode setFioul()    </span>
 +
  $this->setCouleur($couleur); <span style="color:green;"> // </span>
 +
}

Version du 7 janvier 2014 à 18:14

[par jullule] a completer

Cet article va rasembler les principales commande de la programmation objet en PHP. Il s'agit d'un mémo et non d'un tutoriel.


La notion d'objet

En objet on crée des classes (moule) qui servent a faire des objets. Une classe (moule) peut servir a faire autan d'objet que l'on veut.
Ces classes (moules) il faut les definir, pour cela on va leur attribuer des attributs (variables) et des methodes (fonction)


Créer une classe

Nous utilison l'exemple d'un bateau

<?php
class bateau
{
  private $_carburant;  // quantitée de carburant
  private $_localisation;  // sa localisation
  private $_fret;  // le nombre de marchandises dans la cale
  private $_couleur;  // la couleur du bateau
  public function setfioul() // methode pour remplir ou vider le reservoir (de x litres)
  {

  }
        
  public function deplacer() //méthode pour deplacer la bateau
  {

  }
       
  public function charger() // méthode pour charger la cale (de x marchandise)
  {

  }

  public function decharger() // méthode pour vider la cale (de x marchandise)
  { 

  }
  public function setCouleur() // méthode pour vider la cale (de x marchandise)
  {

  }
}
?>


Definir une methode

voici une methode que nous definissons, on la placeras dans la classe bateau

public function direCoucou()
{ echo 'Coucou !'; }


Créer un objet

Un objet est donc ce qui utilise la classe pour se definir.

 $surcouf = new bateau();  //$surcouf est un objet de type bateau.

Appeler une methode de l'objet

pour appeler une methode, il faut déja avoir crée l'objet, sinon ca marche moins bien.

$surcouf->direCoucou();

ici on appel la methode direCoucou de $surcouf, cette methode affiche "Coucou !" a l'écran. c'est sur ce n'est pas très utile, mais on voit le principe.

Acceder aux attribut

Les attribus ne peuvent pas être lus ou modifier directement (ils sont privée). C'est contraignant mais ca les protèges de nos bétises.
Donc si on fais ça: $surcouf->_fret = $surcouf->_fret + 200;   ca ne marche pas. il faut passer par des methodes

Modifier un attribut

pour modifier un attribut, on cree une methode de type mutateur en mettant "set" dans son nom. Ce n'est pas obligatoire mais c'est une convention.

public function setFioul($fioul)
{
  $_carburant = $fioul;  //l'attribut $_carburant = l'argument $fioul.
}

Lire un attribut

pour lire un attribut, on cree une methode de type accesseur en la nommant du nom de l'attribut qu'elle renvoit. c'est aussi une convention.

public function getFioul($fioul)
{
  $_carburant = $fioul;  //l'attribut $_carburant = l'argument $fioul.
}

Le constructeur

Le constructeur est une methode qui définit l'état des attributs quand on crée l'objet. Dé qu'on crée un objet, cette methode est appelé.
On est obligé de l'appeler __construct (avec deux _)

public function __construct($fioul, $couleur)
{
  echo"bateau crée";
  $this->setFioul($fioul);  //initialise le carburant avec la valeur de l'argument $fioul par la methode setFioul()    
  $this->setCouleur($couleur);  // 
}