ReflectionClass::isInstantiable

(PHP 5, PHP 7)

ReflectionClass::isInstantiableПроверяет, можно ли создать экземпляр класса

Описание

public ReflectionClass::isInstantiable ( ) : bool

Проверяет, можно ли создать экземпляр класса.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает true в случае успешного завершения или false в случае возникновения ошибки.

Примеры

Пример #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() { }
}

trait 
{
    function 
f1() {}
}

class 
privateConstructor {
    private function 
__construct() { }
}

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

foreach(
$classes  as $class ) {
    
$reflectionClass = new ReflectionClass($class);
    echo 
"Можно ли создать экземпляр класса $class?  ";
    
var_dump($reflectionClass->isInstantiable()); 
}

?>

Результат выполнения данного примера:

Можно ли создать экземпляр класса C?  bool(true)
Можно ли создать экземпляр класса iface?  bool(false)
Можно ли создать экземпляр класса ifaceImpl?  bool(true)
Можно ли создать экземпляр класса abstractClass?  bool(false)
Можно ли создать экземпляр класса D?  bool(true)
Можно ли создать экземпляр класса T?  bool(false)
Можно ли создать экземпляр класса privateConstructor?  bool(false)

Смотрите также