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