ReflectionClass::isInstantiable

(PHP 5, PHP 7, PHP 8)

ReflectionClass::isInstantiableVérifie si une classe est instanciable

Description

public ReflectionClass::isInstantiable(): bool

Vérifie si une classe est instanciable.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Exemples

Exemple #1 Exemple avec 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
"Est-ce que la classe $class est instanciable ? ";
var_dump($reflectionClass->isInstantiable());
}

?>

L'exemple ci-dessus va afficher :

Est-ce que C est instanciable ?  bool(true)
Est-ce que iface est instanciable ?  bool(false)
Est-ce que ifaceImpl est instanciable ?  bool(true)
Est-ce que abstractClass est instanciable ?  bool(false)
Est-ce que D est instanciable ?  bool(true)
Est-ce que T est instanciable ?  bool(false)
Est-ce que privateConstructor est instanciable ?  bool(false)

Voir aussi