Mudança da arquitetura


A principal mudança da versão 1 para a versão 2 da plataforma Badiu.Net é a atualização do Symfony, passando da versão 2.5 na versão inicial para a versão 6 na atual. Esta atualização impactou profundamente a arquitetura, afetando todos os módulos e a configuração do sistema.

A versão 6 do Symfony alterou a estrutura de muitos arquivos e pastas. A seguir, vamos destacar os principais arquivos e pastas que tiveram sua estrutura modificada em comparação com a versão 2.5.

src
A pasta src na versão 6 do Symfony continua com a mesma funcionalidade que havia na versão 2.5, ou seja, é a pasta que organiza o código-fonte dos módulos, conhecidos como Bundles. No entanto, na versão 6, o suporte padrão é para um único bundle, que deve ser programado dentro da pasta src. Já na versão 2.5, havia suporte para múltiplos bundles, que eram programados dentro da mesma pasta. Sendo assim, todos os bundles que existiam na versão 2.5 foram migrados para a nova versão, ficando na pasta Badiu, na raiz da aplicação, ao invés de na pasta src.

public
A pasta public na versão 6 do Symfony substitui, em parte, as funcionalidades que existiam na pasta web da versão 2.5. Nessa pasta ficam os arquivos que permitem o acesso à web e que fazem  roteamento de todo o sistema. O arquivo index.php, que está localizado nessa pasta, desempenha essa função, substituindo o arquivo app.php, que ficava na pasta web na versão 2.5.

var
Os arquivos de log e cache são armazenados na pasta var nesta nova versão do Symfony. Na versão anterior, 2.5, esses arquivos ficavam na pasta app.

config
A pasta config centraliza os principais arquivos de configuração. Dentro dessa pasta, temos o arquivo bundles.php, que contém o registro de todos os bundles, ou seja, módulos habilitados no sistema. Na versão anterior do Symfony, essa configuração estava no arquivo AppKernel.php, localizado na pasta app. O arquivo routes.yaml centraliza a configuração de todas as rotas do sistema; na versão anterior, esse arquivo ficava na pasta app/config. Já o arquivo services.yaml centraliza a configuração das variáveis do sistema e de alguns serviços globais. Esse arquivo substitui as configurações que eram feitas no arquivo parameters.yml, que estava na pasta app/config.

.env
O arquivo .env foi adicionado na nova versão do Symfony, atendendo melhor aos padrões de segurança do sistema. Esse arquivo contém as configurações de credenciais de acesso ao banco de dados e outras configurações. Na versão anterior, essas configurações eram feitas no arquivo parameters.yml, localizado na pasta app.