ReflectionClass::isInstantiable

(PHP 5, PHP 7, PHP 8)

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

Описание

public ReflectionClass::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)

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