Bonjour,
Je sais qu'il est possible d'effectuer un contrôle lors de l'accès à une variable non statique d'une classe en PHP5 (grâce aux méthodes __get et __set) mais qu'en est-il pour les variables statiques ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 class MyClass { public static $myStaticNumeric = 6; protected $myNumeric = 5; public function __construct() {} public function __get($name) { if ($name == "num") return ($this->myNumeric); else echo "ERROR !"; } public function __set($name, $value) { if (($name == "num") && is_numeric($value)) $this->myNumeric = $value; else echo "ERROR !"; } } $object = new MyClass(); $object->num = 4; // OK $object->num = "texte"; // ERROR ! MyClass::$myStaticNumeric = "texte"; // OK, car aucun contrôle.
Partager