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

It Depends: Dealing with dependency troubles in your Symfony application

It Depends: Dealing with dependency troubles in your Symfony application

When your Symfony application grows or when you maintain multiple applications that reuse code, you probably maintain some shared library and/or bundle. Even if you don’t, you are likely using bundles and libraries from the Symfony- and PHP-ecosystem. Chances are that you run into issues with dependencies, especially now with PHP 8.1 and Symfony 6. How can you avoid dependencies blocking your upgrade and what can you do as a maintainer to make sure you don’t block others? That is not an easy question, but package design principles are a good way to start.

In this talk we will discuss package design principles and how Symfony and other popular PHP packages implement or deviate from them and how it affects users and maintainers. We will look at how PHP open source projects have dealt with dependencies blocking them and have a look at some of the famous problems from JS and NPM and what lessons we can learn from them. Hopefully, at the end you will be well prepared for upgrading your own libraries, bundles and applications and know how to confidently handle dependency issues in the future.

6a1345d8e6dd15b2c78eff0c331963b1?s=128

Denis Brumann

December 09, 2021
Tweet

Transcript

  1. It Depends Dealing with dependency troubles in your Symfony application

  2. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 2
  3. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 3
  4. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 4
  5. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 5
  6. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 6 Denis Brumann @dbrumann Solutions Architect
  7. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 7
  8. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 8
  9. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 9
  10. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 10
  11. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 11
  12. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 12
  13. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 13
  14. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 14
  15. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 15
  16. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 16
  17. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 17
  18. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 18
  19. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 19
  20. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 20
  21. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 21
  22. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 22
  23. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 23
  24. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 24
  25. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 25
  26. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 26
  27. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 27
  28. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 28
  29. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 29
  30. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 30
  31. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 31
  32. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 32
  33. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 33
  34. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 34
  35. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 35
  36. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 36
  37. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 37 Version PHP 2.1 ^7.1 2.2 ^7.2 2.3 ^7.4 2.11 ~7.4.1 || ~8.0.0
  38. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 38
  39. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 39
  40. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 40
  41. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 41
  42. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 42
  43. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 43
  44. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 44
  45. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 45
  46. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 46
  47. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 47
  48. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 48
  49. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 49
  50. Denis Brumann @dbrumann denis.brumann@qossmic.com Dealing with dependency troubles in your

    Symfony application 50