Les classes et les objets (PHP 5)
<<<
Surcharge de membre Surcharge de méthode
>>>

5.10.11 Surcharge
5.10 Les classes et les objets (PHP 5)
5 Référence du langage
 Manuel PHP

->Surcharge de membre
Surcharge de méthode

5.10.11.1 Surcharge de membre

void  __set ( string   name , mixed   value ) mixed  __get ( mixed   name )

Les membres d'une classe peuvent être surchargés afin d'exécuter un code spécial contenu dans vos méthodes __set et __get . Le paramètre $name est le nom de la variable qui doit être définie ou recherchée. Le paramètre $value de la méthode __set spécifie la nouvelle valeur à donner à la variable $name .

Exemple de surcharge avec __get et __set

<?php
class Setter
{
  
public $n;
  
private $x = array("a" => 1, "b" => 2, "c" => 3);

  function
__get($nm)
  {
    print
"Récupération de [$nm]\n";

    if (isset(
$this->x[$nm])) {
      
$r = $this->x[$nm];
      echo
"Retour : $r\n";
      return
$r;
    } else {
      echo
"Rien!\n";
    }
  }

  function
__set($nm, $val)
  {
    print
"Définition de [$nm] à $val\n";

    if (isset(
$this->x[$nm])) {
      
$this->x[$nm] = $val;
      echo
"OK!\n";
    } else {
      echo
"Pas OK!\n";
    }
  }
}

$foo = new Setter();
$foo->n = 1;
$foo->a = 100;
$foo->a++;
$foo->z++;
var_dump($foo);
?>

<< Surcharge de membre >>
Les classes et les objets (PHP 5) Surcharge Surcharge de méthode