[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Rafael Aquino Risalte
Criador Rafael Aquino Risalte 11/03/2023

Olá, estou usando Laravel 9, eu tenho uma dúvida.

Qual a diferença de usar um observer e um mutator para setar automanticamente o atributo url do plano.

 

Eu penso que ao invés do observer eu podoria usar um mutator para definir que quando o nome do plano fosse setado automaticamente eu definiria o valor no campo url. Vejo duas vantagens usando mutator:

1 - Não precisaria criar um observer e nem adicionar no Service provider.

2 - Me parece mais simples e escrevo menos código.

Existe alguma diferença (vantagens de desvantages) para este caso de apenas setar um valor de um campo usando um observer ou mutator?

Manager Carlos Ferreira 11/03/2023

Olá, Rafael!
Tudo bem?

Observer tem mais opções, você pode observar operações do model, e aplicar ações/eventos (sejam elas relacionadas ao banco ou não).

Já mutator é mais simples, você pode alterar algo antes de persistir no banco.

Sim, para este caso simples, que é apenas definir a URL, usar um mutator vai atender e atender super bem.

Carlos Ferreira
Criador Rafael Aquino Risalte 11/03/2023

Entendi Carlos, os observers me dão um scopo muito maior de possibilidades.

Muito obrigado, foi exclarecedor.

Estou gostanto muito do curso, ele é sensacional. Tenho certeza que ao concluir ele estrarei em outro nível.

 

Parabéns pelo trabalho.

Rafael Aquino Risalte
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!