Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Keep your architecture clean - PHPBenelux 2020

Keep your architecture clean - PHPBenelux 2020

7ad91e0d7c853ba853f05a3d8e209774?s=128

Simon Mönch

January 25, 2020
Tweet

Transcript

  1. @smoench89 Keep your architecture clean 1

  2. @smoench89 Agenda • What is software architecture about? • Example

    application • Track application layers and enforce rules 2
  3. @smoench89 Simon Mönch @smoench89 Symfony User Group Cologne Organizer 3

  4. @smoench89 What is software architecture about? 4

  5. @smoench89 What is software architecture about? • Communication ‣ Requirements

    ‣ Decisions ‣ Agreements 5
  6. @smoench89 –Ralph Johnson „Architecture is about the important stuff. Whatever

    that is.“ 6
  7. @smoench89 Example 7 • API driven • Admin and Customer

    API • Easily extendable with other APIs / 3rd Party Integrations • Keep in mind a API context could spilt out to its own service
  8. @smoench89 Hexagonal architecture Ports and adapter architecture 8

  9. @smoench89 9 Core Admin Customer Driven Driving

  10. @smoench89 Application 10

  11. @smoench89 Deptrac https://github.com/sensiolabs-de/deptrac 11

  12. @smoench89 Installation ✓ PHAR | https://github.com/sensiolabs-de/deptrac/releases ✓ phive install -g

    sensiolabs-de/deptrac ✓ composer require --dev sensiolabs-de/deptrac-shim X composer require --dev sensiolabs-de/deptrac 12
  13. @smoench89 depfile.yml 13

  14. @smoench89 14

  15. @smoench89 15

  16. @smoench89 Formatters 16

  17. @smoench89 Console 17

  18. @smoench89 Graphviz 18

  19. @smoench89 JUnit 19

  20. @smoench89 Layers & Collectors 20

  21. @smoench89 className 21

  22. @smoench89 classNameRegex 22

  23. @smoench89 directory 23

  24. @smoench89 bool 24

  25. @smoench89 Demo 25

  26. @smoench89 Conclusions 26

  27. @smoench89 Thank you @smoench89 https://joind.in/talk/017e5 27