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

Framework Agnostic packages

Framework Agnostic packages

Talk at PHPlx Lisbon about framework agnostic packages. How to create them, when and why.

Miguel Loureiro

October 29, 2014
Tweet

More Decks by Miguel Loureiro

Other Decks in Programming

Transcript

  1. What is UX design? • Software Engineer @ Uniplaces •

    Entrepreneur Who am I ? Miguel Loureiro
  2. What is UX design? • Software Engineer @ Uniplaces •

    Entrepreneur • Playing with PHP since 2010 Who am I ? Miguel Loureiro
  3. What is UX design? • Software Engineer @ Uniplaces •

    Entrepreneur • Playing with PHP since 2010 • Web stack enthusiast Who am I ? Miguel Loureiro
  4. Seriously, what is UX design? What is UX design? •

    Software Engineer @ Uniplaces • Entrepreneur • Playing with PHP since 2010 • Web stack enthusiast • Sports addict Who am I ? Miguel Loureiro
  5. User needs Business goals SCENARIO 1. You have a framework

    of choice that tries to make everything you need.
  6. SCENARIO 1. You have a framework of choice that tries

    to make everything you need. 2. Of course there’s something the framework doesn’t do.
  7. SCENARIO 1. You have a framework of choice that tries

    to make everything you need. 2. Of course there’s something the framework doesn’t do. 3. You search and find a bundle/extension whatever… great!
  8. User needs Business goals Technical constraints SCENARIO 1. You have

    a framework of choice that tries to make everything you need. 2. Of course there’s something the framework doesn’t do. 3. You search and find a bundle/extension whatever… great! 4. A ‘better’ framework appears, all your bundles/extensions don’t work anymore.
  9. User needs Business goals SCENARIO 1. You have a framework

    of choice that tries to make everything you need. 2. Of course there’s something the framework doesn’t do. 3. You search and find a bundle/extension whatever… great! 4. A ‘better’ framework appears, all your bundles/extensions don’t work anymore. 5. Those bundles/extensions are forked to work in different frameworks.
  10. User needs Business goals SCENARIO 1. You have a framework

    of choice that tries to make everything you need. 2. Of course there’s something the framework doesn’t do. 3. You search and find a bundle/extension whatever… great! 4. A ‘better’ framework appears, all your bundles/extensions don’t work anymore. 5. Those bundles/extensions are forked to work in different frameworks. 6. Now there’s a need to maintain N different forks of the extension.
  11. User needs Business goals SCENARIO 1. You have a framework

    of choice that tries to make everything you need. 2. Of course there’s something the framework doesn’t do. 3. You search and find a bundle/extension whatever… great! 4. A ‘better’ framework appears, all your bundles/extensions don’t work anymore. 5. Those bundles/extensions are forked to work in different frameworks. 6. Now there’s a need to maintain N different forks of the extension. 7. Bug fixes are not global
  12. The fastest implementation • Session is hardcoded so you can’t

    mock the Session class • Framework dependent
  13. A better implementation • Still depends on Laravel’s session class.

    (Illuminate\Session\Store) • Why do we care that it comes from a session?
  14. A better implementation • Still depends on Laravel’s session class.

    (Illuminate\Session\Store) • Why do we care that it comes from a session? • Why do we care that it logs to a file ?