instanceof关键字
可以判断一个对象是类的实例、类的子类,还是实现了某个特定的接口,并进行相应的操作在处理多个对象时,使用case语句和instanceof关键字来根据对象类型调整函数的行为
interface demo
{
public function test();
}
class demo2 implements demo
{
public function test(){
echo 'demo';
}
}
$dd = new demo2();
if($dd instanceof demo)
{
$dd->test();
}
OOP中辅助函数
class_exists( string class_name)
如果存在class_name指定的类,函数返回true,否则返会false
get_class(object object)
函数返回object所属的类名,如果object不是对象则返回false
get_class_method( mixed class_name )
返回一个数组,其中包含class_name类中定义的所有方法名
get_class_vars(string class_name)
返回一个数组,其中包含class_name类中定义的所有字段名及其相应的值
get_declared_class()
函数返回一个数组,其中包含当前执行脚本中定义的所有类名
get_object_vars(object object)
返回一个关联数组,其中包含object可用的已定义的字段及其相应的值
get_parent_class(mixed object)
函数返回object所属类的父类名,如果object是基类,那么就返回该类的类名
interface_exists( string interface_name [,boolean autoload] )
函数确定一个接口是否存在,如果不存在则返回true,否则返回false
is_a(object object,string class_name)
当object属于class_name时,或者属于class_name的一个子类时,函数返回true
is_subclass_of(object object,string class_name)
当object属于继承自class_name的类时,函数返回true,否则返回false
method_exists(object object,string method_name)
object中有名为method_name的方法时,函数返回true,否则返回false