instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例:
1 对类利用 instanceof 其格式:工具 instanceof 类
<?phpclass MyClass{}class NotMyClass{}$a = new MyClass ;var_dump ( $a instanceof MyClass );var_dump ( $a instanceof NotMyClass );?>
以上例程会输出:bool(true)bool(false)
instanceof也可用来确定一个变量是不是继续自某一父类的子类的实例:
2 对继续类利用 instanceof
<?phpclass ParentClass{}class MyClass extends ParentClass{}$a = new MyClass ;var_dump ( $a instanceof MyClass );var_dump ( $a instanceof ParentClass );?>
以上例程会输出:bool(true)bool(true)
instanceof也可用于确定一个变量是不是实现了某个接口的工具的实例:
3 对接口利用 instanceof
<?phpinterface MyInterface{}class MyClass implements MyInterface{}$a = new MyClass ;var_dump ( $a instanceof MyClass );var_dump ( $a instanceof MyInterface );?>
以上例程会输出:bool(true)bool(true)
与类有关的系统函数:
class_exists(): 判断一个类是否存在(便是是否定义过了)
bool class_exists ( string $class_name [, bool $autoload = true ] )
get_class_methods():得到一个类中所定义的所有方法。是一个序列方法名(数组)
array get_class_methods ( mixed $class_name )
get_declared_classes():得到所有已经定义过的"类名"(包括系统中的类), 也是一个序列名(数组)
array get_declared_classes ( void )
与工具有关的系统函数:
is_object(): 判断是否是一个"工具"
bool is_object ( mixed $var )
get_object_vars():得到一个工具中所具有的属性。是一个序列名称(数组)
array get_object_vars ( object $obj )
get_class(): 得到一个工具的"所属类"(结果是一个类名字符串)
string get_class ([ object $obj ] )
get_parent_class(): 得到一个工具的"所属父类"(结果是一个类名字符串)
string get_parent_class ([ mixed $obj ] )
与接口有关的函数
interface_exists(): 判断一个接口是否存在(便是是否定义过了)
bool interface_exists ( string $interface_name [, bool $autoload = true ] )