public function isInstantiable() : bool
    {
        // @TODO doesn't consider internal non-instantiable classes yet.

        if ($this->isAbstract()) {
            return false;
        }

        if ($this->isInterface()) {
            return false;
        }

        if ($this->isTrait()) {
            return false;
        }

        try {
            return $this->getConstructor()->isPublic();
        } catch (OutOfBoundsException $e) {
            return true;
        }
    }
public function isInstantiable() : bool
    {
        // @TODO doesn't consider internal non-instantiable classes yet.

        if ($this->isAbstract()) {
            return false;
        }

        if ($this->isInterface()) {
            return false;
        }

        if ($this->isTrait()) {
            return false;
        }

        try {
            return $this->getConstructor()->isPublic();
        } catch (OutOfBoundsException $e) {
            return true;
        }
    }
public function isInstantiable ( ) : bool { // @TODO doesn't consider internal non-instantiable classes yet. if ( $ this -> isAbstract ( ) ) { return false ; } if ( $ this -> isInterface ( ) ) { return false ; } if ( $ this -> isTrait ( ) ) { return false ; } try { return $ this -> getConstructor ( ) -> isPublic ( ) ; } catch ( OutOfBoundsException $ e ) { return true ; } }
Checks whether this reflection is an instantiable class

@link https://php.net/manual/en/reflectionclass.isinstantiable.php
Checks whether this reflection is an instantiable class