Estrutura MVC
O MicroFW foi desenvolvido tendo como base a estrutura do padrão de arquitetura MVC, com isso separando a aplicação em três componentes principais: Model, View e Controller. Com o MVC, é possível separar o código de acordo com suas responsabilidades.
Veja a seguir a estrutura das pastas:
Estrutura de diretório
A estrutura da aplicação MicroFW tem como objetivo fornecer ao desenvolvedor um bom ponto de partida, independente de ser um projeto pequeno ou grande.
Diretorio raiz:
#Diretório público
O public_html contém o index.php, responsável por inicializar a aplicação MicroFW, onde fará o carregamento do arquivo bootstrap.php que irá tratar todas as solicitações que entram no seu aplicativo. Esse diretório também armazena todos os arquivos, como CSS, JavaScript e imagens.
#Diretório src
O src contém toda base de códigos utililzados na aplicação MicroFW, como acesso a banco de dados, classes, funções, controladores e rotas.
Diretorio da aplicação:
Seu aplicativo em sua grande totalidade está hospedado no diretório src, por padrão, este diretório tem o namespace MicroFW/src e é carregado de forma automática pelo Composer.
#Diretório principal
O main contém toda a estrutura de projeto baseada em MVC, distribuindo as responsabilidades de acordo com suas atribuições.
#Diretório de negócios (business)
O diretório business é responsável por gerenciar o sistema de login (em desenvolvimento) e a camada de service que trás para as classes as funções referente as conexões com o banco de dados, ou seja, faz a ligação da camada de controle e a camada de persistência.
#Diretório comum (common)
O diretório entity armazena as entidades que serão utilizados pela aplicação.
O diretório settings armazena os arquivos de configurações utilizados pela aplicação.
#Diretório de controle (controller)
O diretório armazena os controladores que atuará como intermédio entre a camava de Views e DAO (camada de model).
#Diretório DAO (model)
No diretório database o arquivo MysqlDAO é responsável por fazer a persistência dos dados no banco de dados.
No diretório factory o arquivo FactoryDAO é responsável por gerenciar a fabricação de conexões com os arquivos do diretório database, onde futuramente será implementado conexões com outros bancos da dados além do Mysql.
#Diretório de funções (functions)
No diretório ficará armazenado as funções extras da aplicação, como por exemplo, envio do servidor de emails, upload de imagens, tratamento de texto dentre outros.
#Diretório view
No diretório estará disponível todos os arquivos de visualizações .php gerados.
#Diretório de rotementos (routing)
O diretório router é responsável por armazenar os arquivos que faz todo o controle da lógica de roteamento do aplicativo MicroFW, funciona exatamente como um roteador, onde recebe uma solicitação, faz o tratamento e encaminha para a rota adequada.
No diretório routes/collections ficará armazenado todas as rotas criada por você que serão utilizadas pelo aplicativo para atender as solicitações dos usuários.
#Diretório vendor
Nesse diretório contém todas as informações necessárias para o funcionamento do Composer.
POO - Programação Orientada a Objetos
No MicroFW é utilizado o paradigma de orientação a objetos, ou seja, basta criar uma classe ou objeto e poderá utilizá-los em qualquer parte do seu código, oferecendo suporte para encapsulamento, herança e polimorfismo. Sendo fundamental na criação de aplicações robustas e escaláveis.