Descobrindo os métodos de uma classe por Reflexão
No PHP existem diversas formas de se descobrir informações a respeito de uma classe. No primeiro exemplo a seguir, para saber quais os métodos oferecidos por uma classe, a função get_class_methods() é utilizada:
<?php
class Pessoa
{
private $codigo;
private $name;
function __construct($codigo)
{
$this->codigo = $codigo;
}
function setName($name)
{
$this->name = $name;
}
}
print_r(get_class_methods('Pessoa'));
?>O PHP5 também implementa uma API chamada Reflection. A Reflection API permite fazermos reflexão de objetos, ou seja, investigar sobre seus atributos, métodos e descobrir sua interface. No segundo exemplo a seguir, temos o mesmo código rescrito utilizando essa API:
<?php
class Pessoa
{
private $codigo;
private $name;
function __construct($codigo)
{
$this->codigo = $codigo;
}
function setName($name)
{
$this->name = $name;
}
}
$api = new ReflectionClass('Pessoa');
foreach($api->getMethods() as $method)
{
echo $method->getName() . "<br>
";
}
?>









