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

How To Roll Your Own - PHP Antwerp meetup

How To Roll Your Own - PHP Antwerp meetup

As we mature as software developers, it becomes more and more important to increase the speed with which we are able to develop or applications. This can be done in a number of different ways, e.g. use a new IDE, use a new framework, pull in a specific package via composer, … .

In the last couple of years however, I have felt the need to take this concept one step further by creating a set of custom PHP packages that are perfectly in line with my own preferences and work flow. These packages have allowed me to significantly speed up the development of my projects by reducing the amount of repetitive actions and boiler plate code.

In this talk, I would like to give you a brief demonstration of the tools and techniques I have used to accomplish this and show you can do the same for your projects, be it Laravel, Symfony, Drupal or Wordpress. Additionally, I will highlight some of the lessons I learned over the last couple of years while taking this approach.

This slide deck is an updated version of my initial slides after some feedback from the community. It was used specifically for the PHP Antwerp meetup on 2016-07-27

Ixudra

July 27, 2016
Tweet

More Decks by Ixudra

Other Decks in Programming

Transcript

  1. How To Roll Your Own
    Building your own development tools

    View full-size slide

  2. www.ixudra.be - @ixudra

    View full-size slide

  3. First website

    View full-size slide

  4. Lots of progress

    View full-size slide

  5. Why reinvent the wheel?

    View full-size slide

  6. Why reinvent the wheel?

    View full-size slide

  7. php-mod/curl

    View full-size slide

  8. * Data: 2016-07-27
    Current stats*

    View full-size slide

  9. ixudra.be/blog
    For further reading

    View full-size slide

  10. /ixudra/ixd-template
    • Custom project template
    • Preferred file and directory structure
    • Project config
    • Commonly used composer packages

    View full-size slide

  11. Custom Laravel packages
    /ixudra/generators

    View full-size slide

  12. Custom Laravel packages

    View full-size slide

  13. /ixudra/portfolio

    View full-size slide

  14. In retrospect
    • Very time intensive but very much worth it.
    • Primarily for my personal work flow
    • Focus is on reusability

    View full-size slide

  15. Other examples

    View full-size slide

  16. Other examples

    View full-size slide

  17. Other examples

    View full-size slide

  18. Benefits
    • Huge gains in development speed
    • Increased consistency in all of my projects
    • New skills and and techniques can easily be
    transferred to other projects
    • Learned lots of new things in doing so

    View full-size slide

  19. Benefits
    • Huge gains in development speed
    • Increased consistency in all of my projects
    • New skills and and techniques can easily be
    transferred to other projects
    • Learned lots of new things in doing so

    View full-size slide

  20. Benefits
    • Huge gains in development speed
    • Increased consistency in all of my projects
    • New skills and and techniques can easily be
    transferred to other projects
    • Learned lots of new things in doing so

    View full-size slide

  21. Benefits
    • Huge gains in development speed
    • Increased consistency in all of my projects
    • New skills and and techniques can easily be
    transferred to other projects
    • Learned lots of new things in doing so

    View full-size slide

  22. Disadvantages
    • Being stuck in the same routines makes it more
    difficult to learn new things
    • More difficult to jump into a new project that
    doesn’t follow your workflow
    • Developing packages is hard
    • Very easily for packages to become obsolete

    View full-size slide

  23. Disadvantages
    • Being stuck in the same routines makes it more
    difficult to learn new things
    • More difficult to jump into a new project that
    doesn’t follow your workflow
    • Developing packages is hard
    • Very easily for packages to become obsolete

    View full-size slide

  24. Disadvantages
    • Being stuck in the same routines makes it more
    difficult to learn new things
    • More difficult to jump into a new project that
    doesn’t follow your workflow
    • Developing packages is hard
    • Very easily for packages to become obsolete

    View full-size slide

  25. Disadvantages
    • Being stuck in the same routines makes it more
    difficult to learn new things
    • More difficult to jump into a new project that
    doesn’t follow your workflow
    • Developing packages is hard
    • Very easily for packages to become obsolete

    View full-size slide

  26. How to start your own?

    View full-size slide

  27. Time vs effort

    View full-size slide

  28. Step one: check the competition

    View full-size slide

  29. Step one: check the competition

    View full-size slide

  30. Step one: check the competition

    View full-size slide

  31. Step two: environment setup

    View full-size slide

  32. Step three: research best
    practices

    View full-size slide

  33. Step three: research best
    practices
    http://phppackagechecklist.com

    View full-size slide

  34. Step four: implementation

    View full-size slide

  35. Step five: documentation

    View full-size slide

  36. Step six: set up reminders

    View full-size slide

  37. Closing remarks
    • Call for action
    • Create one or more of your own packages and
    let me know how it all worked out
    • Take a look at my packages and tell me what
    you think
    • Rate this talk to help me improve my speaking
    abilities

    View full-size slide

  38. Closing remarks
    • Call for action
    • Create one or more of your own packages and
    let me know how it all worked out
    • Take a look at my packages and tell me what
    you think (http://github.com/ixudra)
    • Rate this talk to help me improve my speaking
    abilities

    View full-size slide

  39. Online course
    ixudra.teachable.com

    View full-size slide

  40. www.ixudra.be - @ixudra
    Thank you all for listening
    http://github.com/ixudra

    View full-size slide