PPT do Curso (em constante atualização): https://docs.google.com/presentation/d/1N30RcEOx484jz38Tr6gS3EHC0dBRaTUPN61T50dpcOU/edit?usp=sharing
Este projeto faz parte de um curso de PHP e CakePHP e possui algumas características:
-
Todos os tipos de relacionamentos: este app foi criado com a tema de livraria com uma intenção proposital, possuir todos os tipos de relacionamento entre tabelas do modelo relacional. Acreditamos que explorando cada um destes relacionamentos, podemos prover exemplos reais para implementação de qualquer sistema em CakePHP 3.
-
Tabelas no singular: sim! Optamos por utilizar tabelas no singular para evitar plugins de inflections para o idioma português. Além disso, o CakePHP suporta reflexão transparente por homonímia (ex.: tabela autor, entity AutorTable, model AutorTable e controller AutorController).
-
HTML escrito por PHP: para evitar misturar HTML com PHP, utilizamos ao máximo os Helpers do CakePHP para escrita de HTML com o próprio PHP e evitar assim, colocar <?php dentro de tags htmls gerando uma confusão de sintaxes e linguagens.
Modelo de Banco de Dados usando a notação Crow's Foot.
- hasOne (1..1): Funcionário tem uma Habilitação.
- hasMany (1..*): Editora tem muitos Livros.
- belongsTo (*..1): Livros pertencem a uma Editora.
- belongsToMany (..*)**: Livros têm muitos Autores e Autores têm muitos Livros.