Om te beginnen heb ik de volgende 2 classes
Ik heb dus 2 objecten. B is afhankelijk van A. B kan de attributen van A opvragen en wijzigen
maar wanneer ik nu de volgende code uitvoer....
krijg ik in mijn ogen onlogische uitvoer.
Mijn opzet was dat ik met objB de attributen van objA kon wijzigen. Maar het lijken 2 verschillende objecten. Waardoor $objA niet wordt veranderd.
Hoe kan ik er voor zorgen dat ik wel het juiste resultaat krijg?
PHP:
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 a { var $attrib; function a () { $this->attrib = 'value1'; } function getattrib() { return $this->attrib; } } class b { var $objA; function b ($objA) { $this->objA = $objA; } function getattrib() { return $this->objA->getattrib(); } function setattrib($var) { $this->objA->attrib = $var; } } |
Ik heb dus 2 objecten. B is afhankelijk van A. B kan de attributen van A opvragen en wijzigen
maar wanneer ik nu de volgende code uitvoer....
PHP:
1
2
3
4
5
6
7
8
9
| $objA = new a(); $objB = new b($objA); echo $objA->getattrib(); //geeft 'value1' echo $objB->getattrib(); //geeft 'value1' $objB->setattrib('value2'); //verander attrib echo $objA->getattrib(); //geeft 'value1' echo $objB->getattrib(); //geeft 'value2' |
krijg ik in mijn ogen onlogische uitvoer.
Mijn opzet was dat ik met objB de attributen van objA kon wijzigen. Maar het lijken 2 verschillende objecten. Waardoor $objA niet wordt veranderd.
Hoe kan ik er voor zorgen dat ik wel het juiste resultaat krijg?