API de Reflexão do PHP \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 10 Horas 

 30 Min 

 35 Seg 

   Tempo restante da oferta: 10 30 35 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) API de Reflexão do PHP  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

# API de Reflexão do PHP

 Veja como usar a API de reflexão do PHP para extrair e até mesmo alterar características internas de classes, interfaces, métodos etc, em tempo de execução.

 [ Kennedy Tedesco ](https://www.treinaweb.com.br/blog/autor/kennedy-tedesco) 7 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/03/05155024/php-reflection.png)  

O [PHP](https://www.treinaweb.com.br/blog/o-que-e-php/ "PHP") implementa uma [API](https://www.treinaweb.com.br/blog/o-que-e-uma-api/ "API") de reflexão que permite com que façamos “engenharia reversa” para extrair e até mesmo alterar características internas de classes, interfaces, métodos e até mesmo de extensões, tudo isso em tempo de execução.

Os casos de uso para reflexão não costumam ser tão comuns no dia a dia de desenvolvimento, mas podemos destacar alguns:

- Core de frameworks (para alguns comportamentos especiais como, por exemplo, no container de injeção de dependência para saber se determinada classe pode ser instanciada ou não);
- Para testes (frameworks de teste usam principalmente para mocks);
- Extrair informações de classes e gerar documentação;
- Criar hydrators que extraiam/alimentem objetos com dados de forma dinâmica;
- Extrair comentários de classes e criar meta-dados estendendo o comportamento delas (anotações);

Tudo sobre a API de reflexão você pode consultar direto na [documentação](https://www.php.net/manual/en/intro.reflection.php) oficial do PHP. Nesse artigo vou passar os aspectos que considero principais.

[  ![PHP - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/php.svg)   Curso PHP - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/php-fundamentos)

Um exemplo elementar pra dar a ideia do que é possível extrair:

```php
