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

How I Learned to Stop Worrying and Love Compose...

How I Learned to Stop Worrying and Love Composer - php[world] 2015

WordPress extensions, Drupal modules, Magento extensions — developers are building amazing features for each platform. But what if, instead of building platform-specific features, we built reusable packages? All of our platforms can be used with Composer — Magento 2 is even fully installable via Composer & developers can pull in specific Magento components to non-Magento projects, as well. However, we still write extensions for our platform & don't write reusable PHP packages. Let's look at how we all benefit by changing this mindset and how to start writing reusable cross-platform packages.

Avatar for Joshua Warren

Joshua Warren

November 19, 2015
Tweet

More Decks by Joshua Warren

Other Decks in Programming

Transcript

  1. PRESENTED BY JOSHUA WARREN PRESENTED AT PHPWORLD 2015 HOW I

    LEARNED TO STOP WORRYING AND LOVE COMPOSER
  2. JoshuaWarren.com My Experience PHP Developer Since 1999 Founded Creatuity in

    2008 Focused on the Magento platform Previous experience w/WordPress, Joomla, Drupal, Yii #phpworld
  3. JoshuaWarren.com Many of the frameworks, though - especially those closest

    to end-users - use their own module formats #phpworld
  4. JoshuaWarren.com We can revolutionize the web if we focus our

    efforts on solving new problems #phpworld
  5. JoshuaWarren.com If only we had access to some sort of

    tool that could easily automate repetitive actions… #phpworld
  6. JoshuaWarren.com This puts more work on the package author, but

    less work on the frameworks and the package users #phpworld
  7. JoshuaWarren.com Early package users have more work to do -

    each framework will need an adapter #phpworld
  8. JoshuaWarren.com “Puli aims to replace specialized packages of different frameworks

    with one generic, framework independent solution.” #phpworld
  9. JoshuaWarren.com CSS, images, etc., are stored within the Puli package

    and mapped to their framework- specific locations #phpworld
  10. JoshuaWarren.com Puli is the most developed attempt at solving the

    universal package problem in PHP #phpworld
  11. JoshuaWarren.com If Puli is the best approach, let’s get it

    integrated with our frameworks #phpworld
  12. JoshuaWarren.com Start conversations at your local PHP user group about

    how much effort we currently duplicate #phpworld
  13. JoshuaWarren.com When you see someone duplicating effort by writing a

    framework-specific extension, tell them… #phpworld
  14. JoshuaWarren.com Frameworks like Laravel have revolutionized the web by reducing

    the amount of time we waste writing boilerplate #phpworld
  15. JoshuaWarren.com Think about what we can do as a community

    if we stop duplicating each other’s work #phpworld