Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Model CakePHP

Onde de fato eu crio meu Model? Por que possuo 3 pastas em Model, porém na documentação tenho:

 class ...  extends Table { ...

e também tenho

class  ...  extends AppModel { ...

Qual a diferença entre as 2? Crio da segunda maneira qnd não possuo uma tabela no banco?

5 respostas
solução!

Oi João, tudo bom?

A Classe Table é uma classe de mapeamento. Ou seja, faz parte do ORM do framework.

A classe AppModel representa, em partes, o modelo. Além disso inclui algumas funcionalidades de validação e busca.

Essa classe deixou de existir nas versões mais novas do cake. Nas novas versões ainda temos a classe Table, mas a parte de modelo deu uma mudada:

https://book.cakephp.org/3.0/pt/orm.html

Aqui você consegue dar uma lida melhor na ideia de modelos e mapeamento =)

Olá André, obrigado pela atenção. Apesar do curso de Cake ter sido ótimo, quando iniciamos em um framework temos certas dúvidas como "Onde aplicar determinada função" ou "De quem vai ser determinada responsabilidade". Mais uma vez, obrigado pela resposta e continuarei meus estudos.

Oi João, os Models do Cake ficam na pasta app/Model, e herdam da classe AppModel, independente de usar tabela ou não.

https://book.cakephp.org/2.0/en/models.html#more-on-models

Onde você encontrou essa prieira forma?

Oi Wanderson, se eu não me engano foi na própria documentação:

https://book.cakephp.org/3.0/pt/orm.html

namespace App\Model\Table;

use Cake\ORM\Table;

class ArticlesTable extends Table
{

}

Oi João, vou dar uma lida pra saber mais, contudo o André já resolveu o tópico. Mesmo assim, obrigado por compartilhar o link.

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software