O PHP disponibiliza alguns métodos, chamados de “métodos mág...

Próximas questões
Com base no mesmo assunto
Q1307512 Programação
O PHP disponibiliza alguns métodos, chamados de “métodos mágicos”, que são executados quando um determinado evento ocorre na classe mãe. São exemplos de métodos mágicos no PHP:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a D - __construct() e __destruct().

Os métodos mágicos no PHP são funções especiais que têm nomes pré-definidos e começam com dois caracteres de sublinhado (underscores). Eles são chamados automaticamente pelo interpretador do PHP em certas situações. Por exemplo, __construct() é chamado quando um novo objeto é criado (o construtor da classe), enquanto __destruct() é chamado quando um objeto está prestes a ser destruído (o destrutor).

O método __construct() é essencial para inicializar quaisquer propriedades ou executar qualquer configuração inicial que um objeto possa precisar antes de ser utilizado. Já o __destruct() geralmente é usado para liberar recursos ou realizar limpezas necessárias depois que o objeto não é mais necessário.

Ambos os métodos são fundamentais no gerenciamento de ciclo de vida de um objeto em PHP e são automaticamente chamados pelo PHP, o que os torna 'mágicos'. Os demais métodos mágicos no PHP têm suas próprias utilidades específicas, como __get() para acessar propriedades não acessíveis e __set() para definir valores a essas propriedades, mas eles não foram listados entre as opções da questão.

É importante notar que a alternativa A menciona __get(), que realmente é um método mágico, mas __unsed() não existe. A alternativa B menciona __invoke(), que é chamado quando um script tenta chamar um objeto como uma função, e não existe um método chamado __destroy(); o correto é __destruct(). A alternativa C lista __call(), que é invocado quando chamamos métodos inacessíveis ou inexistentes, mas __put() não é um método mágico do PHP.

Portanto, reforçando, a alternativa D é a correta pois esses dois métodos, __construct() e __destruct(), são importantes e bem conhecidos métodos mágicos do PHP, que são executados automaticamente em momentos específicos da vida de um objeto.

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

Gabarito:D.

__construct

Classes que tem um método construtor, chamam o método a cada objeto recém criado, sendo apropriado para qualquer inicialização que o objeto necessite antes de ser utilizado.

 __destruct

Método destrutor será chamado assim que todas as referências a um objeto particular forem removidas ou quando o objeto for explicitamente destruído ou qualquer ordem na sequência de encerramento.

Fonte:https://www.php.net/manual/pt_BR/language.oop5.magic.php

Métodos mágicos:

__construct(),

__destruct()

__call(), 

__callStatic(), 

__get(), 

__set(), 

__isset(), 

__unset(), 

__sleep(), 

__wakeup(), 

__serialize(), 

__unserialize(), 

__toString(), 

__invoke(), 

__set_state(), 

__clone(), 

__debugInfo()

.

https://www.php.net/manual/en/language.oop5.magic.php

Clique para visualizar este comentário

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