class foo { function __unset($a) { print "unset\n"; var_dump($a); } public function __call($a, $b) { print "call\n"; var_dump($a); } function __clone() { print "clone\n"; } public static function __callstatic($a, $b) { print "callstatic\n"; } public function __tostring() { return 'foo'; } } $a = new foo(); $a->sdfdsa(); $a::test(); clone $a; var_dump((string) $a); unset($a->a);