ReflectionClass::isInstantiable
(PHP 5, PHP 7)
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)