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.

Denis Brumann

December 09, 2021
Tweet

More Decks by Denis Brumann

Other Decks in Programming

Transcript

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

    View Slide

  2. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    2

    View Slide

  3. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    3

    View Slide

  4. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    4

    View Slide

  5. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    5

    View Slide

  6. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    6
    Denis Brumann


    @dbrumann


    Solutions Architect

    View Slide

  7. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    7

    View Slide

  8. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    8

    View Slide

  9. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    9

    View Slide

  10. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    10

    View Slide

  11. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    11

    View Slide

  12. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    12

    View Slide

  13. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    13

    View Slide

  14. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    14

    View Slide

  15. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    15

    View Slide

  16. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    16

    View Slide

  17. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    17

    View Slide

  18. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    18

    View Slide

  19. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    19

    View Slide

  20. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    20

    View Slide

  21. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    21

    View Slide

  22. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    22

    View Slide

  23. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    23

    View Slide

  24. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    24

    View Slide

  25. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    25

    View Slide

  26. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    26

    View Slide

  27. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    27

    View Slide

  28. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    28

    View Slide

  29. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    29

    View Slide

  30. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    30

    View Slide

  31. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    31

    View Slide

  32. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    32

    View Slide

  33. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    33

    View Slide

  34. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    34

    View Slide

  35. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    35

    View Slide

  36. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    36

    View Slide

  37. Denis Brumann @dbrumann


    [email protected]


    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

    View Slide

  38. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    38

    View Slide

  39. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    39

    View Slide

  40. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    40

    View Slide

  41. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    41

    View Slide

  42. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    42

    View Slide

  43. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    43

    View Slide

  44. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    44

    View Slide

  45. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    45

    View Slide

  46. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    46

    View Slide

  47. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    47

    View Slide

  48. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    48

    View Slide

  49. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    49

    View Slide

  50. Denis Brumann @dbrumann


    [email protected]


    Dealing with dependency troubles


    in your Symfony application
    50

    View Slide