Pular para o conteúdo principal

PAV4-3: Estrutura da nova pasta backend

Essa proposta traz uma melhoria no ordenamento do backend, fazendo o fluxo caminhar melhor no acesso ao conteúdo do backend.

Ideia central

A raiz da pasta teria apenas dois caminhos, o caminho base/ com todo o conteúdo que vem da base do tema, comum a todos os projetos, e a pasta project/ que tem o conteúdo exclusivo daquele projeto.

.
└── backend/
├── base/
└── project/

Na base ficam as conhecidas Alp_Classes, que agora estariam melhor arrumadas segundo suas funções. E contaria com a pasta de utils, que seria a única pasta a não ter orientação a objetos, por conta da própria natureza.

.
└── backend/base/
├── api/
│ ├── Alp_API
│ └── Alp_Cidades
├── ecommerce/
│ └── Alp_Produto
├── entities/
│ ├── Alp_Banner
│ └── Alp_FAQ
├── factories/
│ └── Alp_Pagina
├── setup/
│ ├── Alp_Settings
│ ├── Alp_Settings_Pages
│ └── ...
└── utils/
├── cores.php
├── debug.php
└── media.php

Dessa forma fica mais fácil visualizar o catálogo o que incluir nos projetos. Se não é ecommerce, já não importa a pasta inteira. Se não tem nenhum acesso a API, já corta outra pasta toda, e assim vai.

E na project estariam os arquivos que são fato do projeto, como o nome do cliente como prefixo do nome da classe.

.
└── backend/project/
├── api/
├── entities/
│ ├── Fulano_Colaborador
│ ├── Fulano_Portfolio
│ └── Fulano_Servico
├── setup/
└── views/
├── Fulano_Home
├── Fulano_Servicos_Page
└── Fulano_Servico_Single

Motivação da PAV4

  • Enxugar mais a pasta, que hoje dá muitos caminhos, com muitos arquivos que poderiam ser fundidos.
  • Fortalecer ainda mais o backend, consolidando que a pasta seja toda orientada a objetos.
  • Conseguir colocar fim aos arquivos obsoletos de 20 anos atrás.

Ficha Geral da PAV4

  • Autor da PAV4: Kevin Villanova
  • Criada em: 31/10/2024
  • Atualizada em: 31/10/2024
  • Status da Proposta: Em avaliação
  • Grau de Dificuldade de Implementação: Baixa
  • Grau de Urgência para Implementação no V4: Essencial
  • Versão-alvo: 4.0
  • Desenvolvedores a favor da implementação:
    • Kevin Villanova