文字

ReflectionClass::isInstantiable

(PHP 5)

ReflectionClass::isInstantiable检查类是否可实例化

说明

public bool ReflectionClass::isInstantiable ( void )

检查这个类是否可实例化。

参数

此函数没有参数。

返回值

成功时返回 TRUE , 或者在失败时返回 FALSE

范例

Example #1 ReflectionClass::isInstantiable() 例子

<?php
class  { }

interface 
iface  {
    function 
f1 ();
}

class 
ifaceImpl  implements  iface  {
    function 
f1 () {}
}

abstract class 
abstractClass  {
    function 
f1 () { }
    abstract function 
f2 ();
}

class 
extends  abstractClass  {
    function 
f2 () { }
}

class 
privateConstructor  {
    private function 
__construct () { }
}

$classes  = array(
    
"C" ,
    
"iface" ,
    
"ifaceImpl" ,
    
"abstractClass" ,
    
"D" ,
    
"privateConstructor" ,
);

foreach(
$classes   as  $class  ) {
    
$reflectionClass  = new  ReflectionClass ( $class );
    echo 
"Is  $class  instantiable?  " ;
    
var_dump ( $reflectionClass -> IsInstantiable ()); 
}

?>

以上例程会输出:

Is C instantiable?  bool(true)
Is iface instantiable?  bool(false)
Is ifaceImpl instantiable?  bool(true)
Is abstractClass instantiable?  bool(false)
Is D instantiable?  bool(true)
Is privateConstructor instantiable?  bool(false)

参见

  • ReflectionClass::isInstance() - 检查类的实例
上一篇: 下一篇: