Pegar Constantes Definidas no PHP Pelo Usuário

Ao desenvolver uma aplicação precisei fazer uns testes de verificação onde era necessário saber quais constantes eu já havia definido.

Na documentação do PHP existe uma função bem interessante que retorna todas as Constantes declaradas: get_defined_constants.

Entretanto, como a cada nova versão que surge, novos recursos são adicionados, e no meu caso, não prestei atenção na implementação do parametro “categorize” na função get_defined_constants a partir do PHP 5.00, de fato, bem pouco usei esta função, mas quando usei a primeira vez foi com PHP 4.x.x.

Desta forma, agora é possivel pedir ao PHP que mostre as constantes categorizadas por tipo ( mhash, calendar, date, ftp, etc e tal ) e o melhor de tudo, colocaram a categoria “user“.

Vamos fazer alguns teste:

1) Somente get_defined_constants():



print '<pre>';

print_r( get_defined_constants() );

print '</pre>';

Note que o resultado foi uma constante debaixo da outra.

2) Agora get_defined_constants(true):



print '<pre>';

print_r( get_defined_constants(true) );

print '</pre>';

A coisa começou a melhorar! Temos agora um índice para categorizar.

Se você rolar a página de resultados para baixo até o final, vai encontrar o índice “user“.

Desta forma, para pegar somente as constantes definidas por nós, usuários, basta colocar o resultado de get_defined_constants dentro de uma variavel e chamar a impressão direto a partir do índice “user”.

3) Agora pegando somente as definidas pelo usuário:



print '<pre>';

$constantes = get_defined_constants(true);

print_r( $constantes['user'] );

print '</pre>';

Pronto! O milagre aconteceu e achei as constantes definidas por mim mesmo!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *