Dentro de InfraStructure não seria melhor usar uma pasta chamada Service em vez de duplicar Repository? Acho estranho ter duas pastas com o mesmo nome... Ou isso fere algum padrão ou boas práticas?
Pensando em implementar formulários nesse projeto para preencher campos na tela e persistir no Banco, uma outra dúvida:
Criar uma pasta para os Controllers, essa pasta ficaria dentro do Domain ou logo abaixo do src ?
Os formulários html ficariam em uma pasta chamada public, na raiz do projeto?
E os arquivos auxiliares como js, css e bibliotecas ficariam dentro de InfraStructure ?
Pensei em uma strutura assim:
PHP-PDO
src
Domain (Classes para Persistir)
Repository (Interfaces)
Service (Implementação das Interfaces Repository e alguma regra do negócio)
Controller (Controladores para páginas HTML, chamando os serviços)
resources
static
css
images
js
vendors (caso use bootstrap)
templates
fragments
students (páginas html)
Essa estrutura estaria correta ou teria algum erro conceitual? A pasta template deveria se chamar public ? Se puder dar essas dicas conceituais seria ótimo!
referência:
04 Boas práticas - 07 Implementação do PdoStudentRepository
Até qui, ótimo treinamento, parabéns!