Class Information: Is Abstract, Is Final And Is Instantiable

 
    <?php
class Person {
    private $name;
    private $age;
    private $id;        function __construct( $name, $age ) {
        $this->name = $name;
        $this->age = $age;
    }    function setId( $id ) {
        $this->id = $id;
    }
 
    function getId(){
        echo "get id method";
    }
 
    function __clone() {
        $this->id = 0;
    }
}$p = new ReflectionClass( 'Person' );print classData( $p );function classData( ReflectionClass $class ) {
  $details = "";
  $name = $class->getName();
  if ( $class->isAbstract() ) {
    $details .= "$name is an abstract class\n";
  }
  if ( $class->isFinal() ) {
    $details .= "$name is a final class\n";
  }
  if ( $class->isInstantiable() ) {
    $details .= "$name can be instantiated\n";
  } else {
    $details .= "$name can not be instantiated\n";
  }
  return $details;
}?>

Enjoyed this post? Share it!

 

Leave a comment

Your email address will not be published.