标签:
class_exists:类是否存在
在创建对象之前判断类是否存在,如果不存在就应该先加载类,再创建对象,容错。
interface_exists:接口是否存在
method_exists:方法是否存在
get_class:得到对象类名
get_parent_class:得到父类的类名(不管父类是否继承自其他类)
<?php //对象相关函数 class S{ } class A extends S{ private function test(){ } } class B extends A{ } echo ‘<pre>‘; //子类对象是否属于父类 $b = new B; var_dump($b instanceof A); //true var_dump($b instanceof B); //true //判断类是否存在 var_dump(class_exists(‘A‘)); //true //判断接口是否存在 var_dump(interface_exists(‘A‘)); //false //判断方法是否存在,只是判断类中是否有该方法,而不是去访问 //不管方法是用什么访问修饰限定符 var_dump(method_exists(new A,‘test‘)); //true var_dump(method_exists(‘A‘,‘test‘)); //true var_dump(method_exists(‘B‘,‘test‘)); //true //一旦类与类之间进行继承,只会判断继承链上是否存在该方法,判断不出来方法是否被继承 //得到对象的类名 var_dump(get_class($b)); //B var_dump(get_parent_class($b)); //A
php -- instanceof、class_exists、insterface_exists、method_exists、get_class、get_parent_class
标签:
原文地址:http://www.cnblogs.com/hf8051/p/4664835.html