ReflectionClass::isInstantiable

(PHP 5, PHP 7, PHP 8)

ReflectionClass::isInstantiableVerifica se a classe é instanciável

Descrição

public ReflectionClass::isInstantiable(): bool

Verifica se a classe é instanciável.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de 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 é instânciável? ";
var_dump($reflectionClass->isInstantiable());
}

?>

O exemplo acima produzirá:

C é instânciável?  bool(true)
iface é instânciável?  bool(false)
ifaceImpl é instânciável?  bool(true)
abstractClass é instânciável?  bool(false)
D é instânciável?  bool(true)
T é instânciável?  bool(false)
privateConstructor é instânciável?  bool(false)

Veja Também