Camila Duarte
EQUIPE
28/08/2026 • 12:01
Vamos discutir um pouco sobre o padrão MVC no CakePHP, especialmente sobre como ele organiza a camada Model e como isso evoluiu a partir da versão 3.x. O CakePHP sempre adotou convenções rígidas para manter a estrutura dos projetos bem clara, e uma das grandes mudanças a partir da versão 3 foi a divisão da camada Model em dois tipos distintos de objetos: o 'Table' e o 'Entity'.
A classe Table é responsável pela lógica de acesso a conjuntos de dados, representando uma tabela do banco de dados e oferecendo métodos para consultar, salvar, apagar várias linhas. Já os objetos Entity representam um único registro da tabela e são usados para aplicar regras de negócio, validações e manipulações de dados desse registro específico.
Agora, analisando as alternativas: a alternativa A descreve corretamente essa separação entre Table e Entity, enquanto as demais alternativas estão equivocadas. A alternativa B incorretamente fala que o Model é só configuração de banco; C confunde a função das Views com Controllers e Models; e D sugere que o Controller deve ter toda a lógica SQL, o que vai contra o princípio de separação de responsabilidade do MVC.
Portanto, o gabarito correto é a letra A.
A classe Table é responsável pela lógica de acesso a conjuntos de dados, representando uma tabela do banco de dados e oferecendo métodos para consultar, salvar, apagar várias linhas. Já os objetos Entity representam um único registro da tabela e são usados para aplicar regras de negócio, validações e manipulações de dados desse registro específico.
Agora, analisando as alternativas: a alternativa A descreve corretamente essa separação entre Table e Entity, enquanto as demais alternativas estão equivocadas. A alternativa B incorretamente fala que o Model é só configuração de banco; C confunde a função das Views com Controllers e Models; e D sugere que o Controller deve ter toda a lógica SQL, o que vai contra o princípio de separação de responsabilidade do MVC.
Portanto, o gabarito correto é a letra A.