As funções var_dump, print_r e debug_zval_dump são úteis para destrinchar o conteúdo de uma variável em PHP, independente de seu tipo.
Porém, elas não mostram, por exemplo, os métodos de um objeto. Uma forma simples de se obter esta informação é utilizando o método export da classe Reflection.
Exemplo para obter as características da classe DirectoryIterator:
Reflection::export(new ReflectionClass('DirectoryIterator'));
Aqui fica um exemplo de função class_dump, usado para destrinchar uma classe ou objeto:
/**
* Destrincha uma classe ou objeto, apresentando as
* subclasses, interfaces, constantes, atributos e metodos.
* @param string || object $class Nome da classe ou uma instancia
* @return void
*/
function class_dump($class) {
if (is_string($class)) {
try {
$r = new ReflectionClass($class);
} catch (ReflectionException $e) {
trigger_error('Erro: '.$e->getMessage(), E_USER_ERROR);
}
} elseif (is_object($class)) {
try {
$r = new ReflectionObject($class);
} catch (ReflectionException $e) {
trigger_error('Erro: '.$e->getMessage(), E_USER_ERROR);
}
} else {
trigger_error('Classe invalida: '.$class, E_USER_ERROR);
}
Reflection::export($r);
}
0 comentários
Postar um comentário
Nota: fique a vontade para expressar o que achou deste artigo ou do blog.
Dica: para acompanhar as respostas, acesse com uma conta do Google e marque a opção "Notifique-me".
Atenção: o blogger não permite inclusão de tags nos comentários, por isso, use algum site externo para postar seu código com dúvidas e deixe o link aqui. Exemplo: pastebin.com