Este projeto demonstra a implementação do Padrão Estrutural Decorator em PHP, onde você pode adicionar funcionalidades a objetos de forma dinâmica e flexível.
Para mais informações sobre o padrão de design Decorator, consulte a documentação oficial do Refactoring Guru.
Para configurar o ambiente de desenvolvimento utilizando Docker, siga os passos abaixo:
Este comando vai construir as imagens do Docker, sem utilizar cache para garantir que as dependências sejam instaladas novamente.
docker compose build --no-cacheEm seguida, inicie os containers necessários para o projeto em segundo plano.
docker compose up -dOu, se preferir, você pode combinar a construção e execução em um único comando:
docker compose up --buildAtenção: O processo de inicialização dos containers pode levar de 30 a 60 segundos, dependendo da sua conexão de internet e do tempo necessário para baixar as imagens e dependências.
Para acessar o ambiente do container, execute o seguinte comando para abrir uma sessão no terminal interativo dentro do container:
docker compose exec cli bashUma vez dentro do container, você pode rodar o script PHP para executar a aplicação e ver a implementação do padrão Decorator em ação:
php src/index.phpEsse comando executa o arquivo index.php e demonstra como o padrão Decorator pode ser usado para estender a funcionalidade de objetos de forma dinâmica.