O PHP disponibiliza alguns métodos, chamados de “métodos mág...
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