Aangezien ik geen toegang heb tot memory_get_usage() dacht ik gebruik te maken van een handmatige destructor in een class om erachter te komen of een object wel verwijderd wordt. Zie deze code:
Dit levert als resultaat:
1
2
3
_this()
Maar ik wil dus dit zien:
1
2
_this()
3
Zodat ik zeker weet dat door het verwijderen van de reference naar het object, het geheugen vrij komt. Hoe kan ik dit doen?
Ik maak gebruik van PHP 4.3.4 (in PHP5 zou ik al direct toegang hebben tot 'normale' destructors).
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| class test { function &test() { register_shutdown_function(array(&$this, '_test')); return $this; } function _test() { echo "_test()\n"; } } echo "\n1\n"; $obj = &new test(); echo "2\n"; unset($obj); echo "3\n"; |
Dit levert als resultaat:
1
2
3
_this()
Maar ik wil dus dit zien:
1
2
_this()
3
Zodat ik zeker weet dat door het verwijderen van de reference naar het object, het geheugen vrij komt. Hoe kan ik dit doen?
Ik maak gebruik van PHP 4.3.4 (in PHP5 zou ik al direct toegang hebben tot 'normale' destructors).
[ Voor 12% gewijzigd door JeRa op 06-02-2004 15:53 ]
ifconfig eth0 down