Constantes mágicas são as constantes predefinidas em PHP que são usadas com base em seu uso. Essas constantes são criadas por várias extensões. Existem nove constantes mágicas no PHP e todas as constantes resolvidas em tempo de compilação, não como a constante regular que é resolvida em tempo de execução. Assinale a alternativa que contém algumas das constantes mágicas do PHP:
Questão
Constantes mágicas são as constantes predefinidas em PHP que são usadas com base em seu uso. Essas constantes são criadas por várias extensões. Existem nove constantes mágicas no PHP e todas as constantes resolvidas em tempo de compilação, não como a constante regular que é resolvida em tempo de execução.
Assinale a alternativa que contém algumas das constantes mágicas do PHP:
Alternativas
a) METHOD, NAMESPACE, LINE.
b) TRAIT, GLOBALS, ENV.
c) _REQUEST, $_SESSION.
d) METHOD, $NAMESPACE.
e) _NAMESPACE, $_LINE.9
Explicação
Em PHP, constantes mágicas são identificadores especiais cujo valor é determinado automaticamente pelo contexto onde aparecem (arquivo, linha, função, classe, método, namespace etc.). Elas são escritas com dois underlines antes e depois do nome, como:
- __LINE__ → número da linha atual no script;
- __METHOD__ → nome do método da classe (quando aplicável);
- __NAMESPACE__ → nome do namespace atual.
Analisando as alternativas:
- a) contém três constantes mágicas válidas: METHOD, NAMESPACE, LINE.
- b) mistura uma constante mágica (TRAIT) com superglobais (_ENV), que não são constantes mágicas.
- c) só tem superglobais (_REQUEST, $_SESSION), não constantes mágicas.
- d) usa variáveis ($TRAIT etc.), não constantes mágicas.
- e) usa nomes inexistentes ($_METHOD etc.) e ainda tem um “9” solto.
Logo, a alternativa correta é a letra a.
Alternativa correta: (a).