ReflectionClass::isInstantiable

(PHP 5, PHP 7, PHP 8)

ReflectionClass::isInstantiableVerifica si una clase es instanciable

Descripción

public function ReflectionClass::isInstantiable(): bool

Verifica si una clase es instanciable.

Parámetros

Esta función no contiene ningún parámetro.

Valores devueltos

Retorna true si la clase es **instanciable** o false en caso contrario.

Ejemplos

Ejemplo #1 Ejemplo con 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 "¿Es la clase $class instanciable? ";
    var_dump($reflectionClass->isInstantiable());
}

?>

El ejemplo anterior mostrará:

¿Es C instanciable? bool(true)
¿Es iface instanciable? bool(false)
¿Es ifaceImpl instanciable? bool(true)
¿Es abstractClass instanciable? bool(false)
¿Es D instanciable? bool(true)
¿Es T instanciable? bool(false)
¿Es privateConstructor instanciable? bool(false)

Ver también