ReflectionClass::isInstantiable

(PHP 5, PHP 7, PHP 8)

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

Описание

publicReflectionClass::isInstantiable(): bool

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

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

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

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

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

Примеры

Пример #1 Пример использования ReflectionClass::isInstantiable()

<?php
class C { }

interface
iface {
function
f1();
}

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

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

class
D extends abstractClass {
function
f2() { }
}

trait
T {
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)

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

To Top