(PHP 5, PHP 7, PHP 8)
ReflectionClass::isInstantiable — Vérifie si une classe est instanciable
Vérifie si une classe est instanciable.
Cette fonction ne contient aucun paramètre.
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
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)