Ben non, ça aurait aucun intérêt.
Ça retourne ce que retourne la méthode offsetGet, c'est quand même assez évident...
Ben non, ça aurait aucun intérêt.
Ça retourne ce que retourne la méthode offsetGet, c'est quand même assez évident...
Pour toi peut-être pour d'autres non.
Tu peux donner un exemple d'utilisation ?
yo
me suis pas embeté à implémenter les autres fonctions pour l'exemple ça suffit...
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
28
29
30
31 <?php class Foo implements ArrayAccess { public $a=1; protected $b=2; private $c=3; public function __construct() { } public function offsetGet($key) { if ( array_key_exists($key,get_object_vars($this)) ) { return $this->{$key}; } } public function offsetExists ($key) {} public function offsetSet ($key, $val) {} public function offsetUnset ($key) {} } $o = new Foo; print_r($o['a']); print_r($o['b']); print_r($o['c']); ?>
;-)
Ca fait plaisir de voir enfin une contribution constructive
Merchi ska !
C'est pas bon du tout.
Le test d'existence doit se faire dans offsetExists.
là je trouve que tu abuses un tantinet... t'es pas vexé que j'ai répondu à ta place quand même ? ;-)
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
28
29
30
31
32
33
34
35
36
37 class Foo implements ArrayAccess { public $a=1; protected $b=2; private $c=3; public function __construct() { } public function offsetGet($key) { if ( $this->offsetExists($key) ) { return $this->{$key}; } } public function offsetExists($key) { return array_key_exists($key,get_object_vars($this)); } public function offsetSet($key, $value) { if ( $this->offsetExists($key) ) { $this->{$key} = $value; } } public function offsetUnset($key) { if ( $this->offsetExists($key) ) { unset($this->{$key}); } } } $o = new Foo; print_r($o['a']); print_r($o['b']); print_r($o['c']); ?>
Pas besoin de vérifier que la valeur existe pour assigner une autre valeur a priori.
merci de la précision loufoque, je viens de vérifier et je confirme, mais je me demande alors a quoi peut bien servir l'implementation d'offsetExists puisqu'a priori le test d'existence implicite fonctionne aussi pour offsetSet...
[edit]
juste à vérifier l'existence, bien sûr
[/edit]
euh Hunter, je parlais de la surcharge d'opérateurs qui n'existe pas en java !
pas de la surcharge tout court
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager