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

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

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.

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