$b->unsetall(); // SetOpProp: use __get $b->setopprop(); // IncDecProp: use __get $b->unsetall(); $b->incdecprop(); $c = new C(); // unset all properties $c->unsetall(); // SetOpProp $c->setopprop(); // IncDecProp $c->unsetall(); $c->incdecprop(); $d = new D(); // unset all properties $d->unsetall(); // Prop for visible, accessible property var_dump($d->y); // PropD for visible, accessible property propd($d->y); // PropU for visible, accessible property unset($d->y); // SetProp for visible, accessible properties $d->setprop(); // SetOpProp $d->unsetall(); $d->setopprop(); // IncDecProp $d->unsetall(); $d->incdecprop();