PHP
PHP / MySql

Recherche
 
ManuelPHP.com

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 ( string   name ) bool  __isset ( string   name ) void  __unset ( string   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 $valeur de la méthode __set spécifie la nouvelle valeur à donner à la variable $name .

Exemple de surcharge avec __get, __set, __isset et __unset

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

  
private function __get($nm)
  {
    echo
"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";
    }
  }

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

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

  
private function __isset($nm)
  {
    echo
"Vérifie si $nm est défini\n";

    return isset(
$this->x[$nm]);
  }

  
private function __unset($nm)
  {
    echo
"Libération de $nm\n";

    unset(
$this->x[$nm]);
  }
}

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

var_dump(isset($foo->a)); //true
unset($foo->a);
var_dump(isset($foo->a)); //false

// ceci ne passera pas via la méthode __isset()
// parce que 'n' est une propriété publique
var_dump(isset($foo->n));

var_dump($foo);
?>

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





Google

Services webmasters

L'actualité PHP

Les manuels
 

ManuelPHP.com © 2003-2011 Tigersun - Crédits
Webmaster Site Internet - Télécharger des Logiciels - Programme TV - Entraide Informatique - Agence de Communication
2012-02-12