Palavras-chave: PHP, Classes, Objetos, Reflection API
No PHP existem diversas formas de se descobrir informações a respeito de uma classe. Por exemplo, 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 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. 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>\\n";
}
?>







2 comments
Comments feed for this article
3 maio 2007 às 13:55
Davis Leandro
Pablo, parabéns pelo artigo. Esta é uma informação importante quando se trabalha em grupo, ou quando se usa uma classe disponível na net.
22 junho 2009 às 10:10
André "aCidcOde" Gomes
Valeu, tava precisando entender isso, você foi bem claro.