Beste Tweakers,
Stel ik heb de volgende class
Kan ik nu op de een of andere manier binnen de __get functie afvangen of deze wordt aangeroepen op de volgende manier:
Ik wil namelijk eigenlijk een lazy loading toepassen echter het lijkt erop dat php het netjes in volgorde uitvoert
dus eerst de waarde terug geeft van customer -> grp en dan pas over die waarde obj->name doet.
M.a.w ik zou graag zoiets willen
Stel ik heb de volgende class
PHP:
1
2
3
4
5
6
7
8
| class customer { protected $grp_id; public function __get($key) { return $this->{$key}; } } |
Kan ik nu op de een of andere manier binnen de __get functie afvangen of deze wordt aangeroepen op de volgende manier:
PHP:
1
2
3
4
5
| $cus = new customer(); echo $cus->grp_id; of echo $cus->grp_id->name; |
Ik wil namelijk eigenlijk een lazy loading toepassen echter het lijkt erop dat php het netjes in volgorde uitvoert
dus eerst de waarde terug geeft van customer -> grp en dan pas over die waarde obj->name doet.
M.a.w ik zou graag zoiets willen
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| class customer { protected $grp_id; public function __get($key) { if(testOpLazy()) { $this->{$key} = new Object(); $this->{$key}->getData(); return $this->{$key}; } else { return $this->{$key}; } } } |
[ Voor 19% gewijzigd door vorlox op 03-02-2010 12:35 ]