1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| class Pere {
protected $_variableProtectedPere;
public function __construct() {
}
public function __set($var, $valeur){
try {
/** Juste une petite mise en forme du tableau pour ne pas avoir des elements de type NULL*/
$clees = array_keys( get_class_vars(get_class($this)) );
$tab = array_flip($clees);
$tab = array_flip($tab);
/**
* si il n'existe ou inaccessible pas alors on lance l exception
* */
if( !in_array($var, $tab )) {
//élément non trouvé
throw new Exception("La variable pour ecriture <b>$var</b> " .
"n existe pas dans la classe ".get_class($this)." !");
}
if( in_array($var, $tab )) {
//élément trouvé mais non accessible
throw new Exception("La variable <b>$var</b> " .
"est protege ou prive dans la classe ".get_class($this)." !");
}
}
catch (Exception $e) {
echo 'L\'erreur suivante a été générée : ' . "\n";
echo( $e->getMessage() );
echo("<BR />");
}
}
}
//Instanciation
$objPere = new Pere();
$objPere->_variableProtectedPere=5; |
Partager