O analista de sistema da Câmara Municipal de Mariana impleme...

Próximas questões
Com base no mesmo assunto
Q3408220 Programação
O analista de sistema da Câmara Municipal de Mariana implementou um sistema web para realizar o controle de demandas dos servidores da Câmara. De posse de todos requisitos necessários para o funcionamento da aplicação, o profissional concluiu que a linguagem de programação mais apropriada para desenvolver a ferramenta, nas condições e cenários do órgão público, era o PHP 8. Sobre essa linguagem de programação, analise as afirmativas a seguir.

I. Para funções e constantes, o PHP recorrerá a funções ou constantes globais se a função ou constante com namespace não existir.
II. A constante mágica __LINE__ apresenta o número da linha atual do arquivo.
III. No laço de repetição do-while, a expressão de avaliação é verificada ao final de cada iteração.

Está correto o que se afirma em
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: A - I, II e III.

Tema central: A questão cobra conhecimentos fundamentais sobre a linguagem PHP 8, especialmente sobre namespaces, constantes mágicas e estruturas de repetição. Tais temas são essenciais para profissionais que atuam no desenvolvimento de sistemas web, frequentemente abordados em concursos públicos de TI.

Resumo teórico:

Namespaces são usados no PHP para organizar classes, funções e constantes, evitando conflitos de nomes. Se você chama uma função ou constante que não existe no namespace atual, o PHP procura por uma versão global antes de gerar erro (PHP Manual).
A constante mágica __LINE__ retorna o número da linha corrente no arquivo (PHP Magic Constants).
O laço do-while executa o bloco de código, e só então avalia a expressão, ou seja, a condição é verificada ao final de cada iteração.

Justificativa da alternativa correta (A):

I. Correta. O PHP realmente recorre ao escopo global se a função ou constante do namespace não existir.
II. Correta. __LINE__ retorna o número da linha corrente, útil para depuração.
III. Correta. O do-while sempre executa pelo menos uma vez, pois a expressão é verificada somente ao final da iteração.

Análise das alternativas incorretas:

B - I, apenas. Incorreta porque II e III também estão corretas.
C - I e II, apenas. Incorreta, pois ignora a correção da afirmativa III.
D - II e III, apenas. Incorreta, pois a afirmativa I também está correta.

Estratégia de interpretação:

- Leia cada afirmativa isoladamente, procurando termos absolutos ("sempre", "apenas", "nunca") e relacione-os ao seu conhecimento.
- Compare cada item com exemplos práticos ou referências oficiais.
- Atenção em frases sobre execução de código (quando ocorre cada ação) e sobre escopos (global vs. namespace).

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Afirmação I:

> Para funções e constantes, o PHP recorrerá a funções ou constantes globais se a função ou constante com namespace não existir.

Verdadeira.

Em PHP, quando se está usando namespaces, se você chama uma função ou constante que não existe dentro do namespace atual, o interpretador tentará procurar na raiz (espaço global).

Exemplo:

```

namespace MeuNamespace;

strlen("abc"); // PHP procurará primeiro em MeuNamespace\strlen, se não encontrar, usará \strlen

```

---

Afirmação II:

> A constante mágica `__LINE__` apresenta o número da linha atual do arquivo.

Verdadeira.

A constante `__LINE__` retorna o número da linha atual no script. Ela é atualizada automaticamente conforme a linha onde for chamada.

---

Afirmação III:

> No laço de repetição `do-while`, a expressão de avaliação é verificada ao final de cada iteração.

Verdadeira.

Esse é o comportamento padrão do `do-while`: o bloco é executado pelo menos uma vez, pois a condição é testada depois da execução do bloco.

---

Gabarito: 

A) I, II e III estão corretas.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo