查找类
class_exists()函数接受表示类的字符串,检查并返回布尔值。如果类存在,则返回true,否则返回false.
也可以用get_declared_classes()函数来获得脚本进程中定义的所有类的数组。
print_r(get_declared_classes());
将会列出用户定义的类和PHP内置的类。
它只返回在函数调用时已声明的类
检测对象类型
可以使用get_class()函数检查对象的类
它接受任何对象作为参数,并以字符串的形式返回类名
还可以用instanceof操作符判断继承关系
<?php
class Test
{
public $username = 'lily';
protected $age=23;
public function __construct()
{
echo '这里是autoload测试<br/>';
}
}
interface interface_test
{
public function fly();
}
class child_Test extends Test implements interface_test
{
public function __construct()
{
echo '这个是子类child_Test<br/>';
}
public function fly()
{
'i believe i can fly!<br/>';
}
}
?>
<?php
require_once 'test.php';
$test = new Test;
$child_test = new child_Test;
$classname = get_class($test);
echo '$test的类名='.$classname.'<br/>';
$child_classname = get_class($child_test);
echo '$child_classname的类名='.$child_classname.'<br/>';
echo 'instanceof 操作符测试<br/>';
if ($child_test instanceof interface_test)
{
echo '继承类<br/>';
} else {
echo '不是继承关系<br/>';
}
echo '判断类是否存在用class_exists<br/>';
if (class_exists('Test'))
{
echo '类存在<br/>';
} else {
echo '类不存在<br/>';
}
echo '<pre>';
echo '脚本内使用的类:<br/>';
print_r(get_declared_classes());
echo '</pre>';
?>