par
xTG » 29 janv. 2012, 15:40
Aille...
Va falloir revoir sérieusement la programmation objet...
__set, __construct, __get et compagnie sont appelées automatiquement selon certaines actions simples. (avec deux tirets bas et non un)
Ce sont des méthodes magiques !
Exemple :
<?php
class test{
private $val;
public function __construct(){
echo 'constructeur <br />';
$this->val = 0;
}
public function __get($objet){
echo 'accès à l'attribut ' .$objet.'<br />';
return (isSet($this->$objet)) ? $this->$val : null;
}
public function __set($objet, $val){
echo 'mise à jour de l'attribut ' . $objet .'<br />';
if( isSet($this->$objet) )
$this->$objet = $val;
}
}
echo '------- instantiation -------<br />';
$test = new test();
echo '------- get -------<br />';
echo $test->val;
echo '------- set-------<br />';
$test->val = 1;
A lire :
http://fr.php.net/manual/fr/oop5.intro.php
Aille...
Va falloir revoir sérieusement la programmation objet...
__set, __construct, __get et compagnie sont appelées automatiquement selon certaines actions simples. (avec deux tirets bas et non un)
Ce sont des méthodes magiques !
Exemple :
[php]<?php
class test{
private $val;
public function __construct(){
echo 'constructeur <br />';
$this->val = 0;
}
public function __get($objet){
echo 'accès à l'attribut ' .$objet.'<br />';
return (isSet($this->$objet)) ? $this->$val : null;
}
public function __set($objet, $val){
echo 'mise à jour de l'attribut ' . $objet .'<br />';
if( isSet($this->$objet) )
$this->$objet = $val;
}
}
echo '------- instantiation -------<br />';
$test = new test();
echo '------- get -------<br />';
echo $test->val;
echo '------- set-------<br />';
$test->val = 1;[/php]
A lire : http://fr.php.net/manual/fr/oop5.intro.php