PHP expert |
|
Ik begrijp wat je bedoeld. Spijtig genoeg begrijp je niet wat destruct doet (of misschien wel maar laat je dit niet merken). __destruct wordt aangeroepen op het moment dat een instantie van de klasse verdwijnt. Deze zal dan een af ander iets afhandelen (connectie sluiten oid). Wat jij wil doen is op een gegeven moment een object of een lidvariabele (een van de twee, ik kan niet echt opmaken welke) vernietigen.
unset zal inderdaad voor beide werken.
<?php
class EenKlasse {
var $a;
var $b;
function EenKlasse($a, $b) {
$this->a = $a; $this->b = $b;
}
function destroy() {
unset($this->a);
unset($this->b);
}
}
$instantie = new EenKlasse(1,2);
echo $instantie->a; // 1
$instantie->destroy();
var_dump($instantie->a); // null als ik me niet vergis
class EenKlasse2 {
}
$inst = new EenKlasse2;
unset($inst); // weg met de instantie
<?php class EenKlasse { var $a; var $b; function EenKlasse($a, $b) { $this->a = $a; $this->b = $b; } function destroy() { } } $instantie = new EenKlasse(1,2); $instantie->destroy(); var_dump($instantie->a); // null als ik me niet vergis class EenKlasse2 { } $inst = new EenKlasse2; unset($inst); // weg met de instantie
Wat wil je precies bereiken? |