Class method info: is User Defined, is Internal, is Abstract : Reflection Class Methods « Class « PHP






Class method info: is User Defined, is Internal, is Abstract

<?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;
    }
}
$prod_class = new ReflectionClass( 'Person' );
$methods = $prod_class->getMethods();

foreach ( $methods as $method ) {
  print methodData( $method );
  print "\n----\n";
}

function methodData( ReflectionMethod $method ) {
  $details = "";
  $name = $method->getName();
  if ( $method->isUserDefined() ) {
    $details .= "$name is user defined\n"; 
  }
  if ( $method->isInternal() ) {
    $details .= "$name is built-in\n"; 
  }
  if ( $method->isAbstract() ) {
    $details .= "$name is abstract\n"; 
  }
  return $details;
}

?>

           
       








Related examples in the same category

1.get_class_methods
2.is_callable: is method callable
3.in_array
4.Call class method dynamically
5.method_exists
6.Get Class method: file name, start line and end line
7.Class method info: is static, is final, is constructor, return references
8.Class method info: is private, is public, is protected