<!DOCTYPE html><html><head></head>
<body><?php
class P {public $a=0;}
class C extends P{private $b=0;}
$o = new C;
var_dump(class_exists('C'));
var_dump(property_exists($o,'b'));
var_dump(property_exists('C','a'));
echo "<br />";
echo get_class($o)."<br />";
echo is_a($o,'P')."<br />";
echo is_subclass_of($o,'P')."<br />";
echo get_parent_class($o)."<br />";
echo get_parent_class('C')."<br />";
print_r(get_declared_interfaces());
?></body></html>
<!DOCTYPE html><html><head></head>
<body><?php
class P {public $a=0;}
class C extends P{private $b=0;}
$o = new C;
var_dump(class_exists('C'));
var_dump(property_exists($o,'b'));
var_dump(property_exists('C','a'));
echo "<br />";
echo get_class($o)."<br />";
echo is_a($o,'P')."<br />";
echo is_subclass_of($o,'P')."<br />";
echo get_parent_class($o)."<br />";
echo get_parent_class('C')."<br />";
print_r(get_declared_interfaces());
?></body></html>
bool(true) bool(true) bool(true)
C
1
1
P
P
Array ( [0] => Traversable [1] => IteratorAggregate [2] => Iterator [3] => ArrayAccess [4] => Serializable [5] => JsonSerializable [6] => RecursiveIterator [7] => OuterIterator [8] => Countable [9] => SeekableIterator [10] => SplObserver [11] => SplSubject [12] => Reflector [13] => SessionHandlerInterface )