Recursos de Reflexão no PHP
      get_parent_class($objeto)
Retorna o nome da classe pai de $objeto ($objeto neste caso pode ser uma referência de um objeto ou uma string contendo o nome da classe).
Exemplo:
Saída:
is_a($objeto, $classe)
Retorna true se a referência $objeto é uma instância da classe de nome $classe ou se $objeto herdar da classe $classe, e false caso contrário.
Exemplo:
A saída nesse caso será "Não", porque o objeto $p não é uma instância da classe Filha e nem herda dessa classe.
is_subclass_of($objeto, $classe)
Retorna true se a referência $objeto for uma subclasse da classe de nome $classe, e false caso contrário.
Exemplo:
Saída:
    
  
    
    
  Retorna o nome da classe pai de $objeto ($objeto neste caso pode ser uma referência de um objeto ou uma string contendo o nome da classe).
Exemplo:
<?php
// classe exemplo
class Pai
{
    function hello()
    {
        echo "Olá, PHP!";
    }
}
class Filha extends Pai
{
    function ola()
    {
        echo "classe filha";
    }
}
$f = new Filha();
echo get_parent_class($f);
?>
Saída:
Pai
is_a($objeto, $classe)
Retorna true se a referência $objeto é uma instância da classe de nome $classe ou se $objeto herdar da classe $classe, e false caso contrário.
Exemplo:
<?php
class Pai
{
    function hello()
    {
        echo "Olá, PHP!";
    }
}
class Filha extends Pai
{
    function ola()
    {
        echo "classe filha";
    }
}
$f = new Filha();
$p = new Pai();
if (is_a($p,"Filha")) {
    echo "OK";
} else {
    echo "Não";
}
?>
A saída nesse caso será "Não", porque o objeto $p não é uma instância da classe Filha e nem herda dessa classe.
is_subclass_of($objeto, $classe)
Retorna true se a referência $objeto for uma subclasse da classe de nome $classe, e false caso contrário.
Exemplo:
<?php
class Pai
{
    function hello()
    {
        echo "Olá, PHP!";
    }
}
class Filha extends Pai
{
    function ola()
    {
        echo "classe filha";
    }
}
$f = new Filha();
$p = new Pai();
if (is_subclass_of($f,"Pai")) {
    echo "OK";
} else {
    echo "Não";
}
?>
Saída:
OK
                  Eu tenho uma classe aonde eu necessito gerar um comando SQL dinamicamente. Então eu usei a classe ReflectionClass da API de Reflexão para pegar todos os atributos da minha classe e assim poder gerar um comando SQL dinamicamente. 
Mas tenho dúvidas em relação à velocidade. Isso não tornaria o script mais lento??
O meu codigo seria basicamente isso:
echo "<PRE>";
$reflection = new ReflectionClass(__CLASS__);
$defaults = $reflection->getdefaultProperties();
print_r($defaults);
echo "</PRE>";
      Mas tenho dúvidas em relação à velocidade. Isso não tornaria o script mais lento??
O meu codigo seria basicamente isso:
echo "<PRE>";
$reflection = new ReflectionClass(__CLASS__);
$defaults = $reflection->getdefaultProperties();
print_r($defaults);
echo "</PRE>";
        09/07/2005 10:11pm
        (~20 anos atrás)
      
    
                  Ah, sim, para reflexão ao pé da letra faltam muitos recursos... Mas quero dar uma olhada nessa API aí prá ver como que é...
Valeu!
              
      Valeu!
        20/05/2005 4:57pm
        (~20 anos atrás)
      
    
                  Hehehe, nem sabia... 
Passa o link do site aí prá gente ver...
Valeu!
bragil
      Passa o link do site aí prá gente ver...
Valeu!
bragil
        20/05/2005 4:55pm
        (~20 anos atrás)
      
    
                  Parabéns pelo artigo mas apartir do Php 5 já existe uma ótima API para reflexão, tão boa(se bobear até melhor) quanto ao que existe para o Java.
Esses comandos que vc usou auxiliam para ter mais detalhes das classes(objetos), reflexão mesmo só apartir no Php5, para maiores detalhes acesse "http://br2.php.net/manual/pt_BR/language.oop5.reflection.php".
      Esses comandos que vc usou auxiliam para ter mais detalhes das classes(objetos), reflexão mesmo só apartir no Php5, para maiores detalhes acesse "http://br2.php.net/manual/pt_BR/language.oop5.reflection.php".
        20/05/2005 1:05pm
        (~20 anos atrás)
      
    


Eu criei uma classe DAO, que recebe um objeto e monta as queries de insert, update e delete.
Acho que não interfere na performance não, eu fiz alguns testes e não notei nada de errado.