Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Clean Architecture em PHP

1,555 views

Published on

Apresentação sobre a Clean Architecture e como implementar o conceito na linguagem PHP

Published in: Technology

Clean Architecture em PHP

  1. 1. Clean Architecture em PHP Elton Minetto @eminetto
  2. 2. O que é Clean Architecture? → https://8thlight.com/blog/uncle-bob/2012/08/13/ the-clean-architecture.html → https://www.amazon.com/Clean-Architecture- Craftsmans-Software-Structure/dp/0134494164
  3. 3. Premissas → Independente de frameworks → Testável → Independente de UI → Independente de Database → Independente qualquer agente externo
  4. 4. Divide nosso código em 4 camadas
  5. 5. → Entities: representam as entidades das regras de negócio → Use Cases: as regras de negócio da aplicação
  6. 6. → Controller: adaptam e convertem os dados do formato usado pelas entidades e use cases para agentes externos como bancos de dados , web, etc → Framework & Driver: frameworks e ferramentas como bancos de dados, frameworks web, etc
  7. 7. Clean architecture em PHP
  8. 8. No namespace entity estão nossas entidades
  9. 9. No namespace UseCase temos a definição das interfaces dos Use Case
  10. 10. O Service.php é a implementação dos Use Case
  11. 11. No namespace Driver temos a camada correspondente, neste caso os repositórios onde as entidades serão armazenadas
  12. 12. Nos arquivos InmemRepository.php e SqliteRepository.php temos implementações da interface
  13. 13. No diretório Controller temos a implementação da camada correspondente
  14. 14. Podemos também ter diferentes controllers, como a linha de comando
  15. 15. Podemos facilmente testar nossos pacotes, camada a camada
  16. 16. Premissas → Independente de frameworks → Testável → Independente de UI → Independente de Database → Independente qualquer agente externo
  17. 17. Exemplo completo https://github.com/eminetto/clean-architecture-php
  18. 18. Perguntas http://eltonminetto.net @eminetto http://coderockr.com http://codenation.com.br http://asemanaphp.com.br

×