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

The Art Of Plugin Development

Ben Croker
September 27, 2018

The Art Of Plugin Development

A presentation about plugin development in Craft CMS given at the DotAll conference in 2018.

Ben Croker

September 27, 2018

More Decks by Ben Croker

Other Decks in Programming


  1. The Art Of Plugin Development Ben Croker @ben_pylo PutYourLightsOn

  2. None
  3. None
  4. Personal Home Page Tools

  5. None
  6. CS101 Travelling Salesman Problem: Given a set of cities and

    distances between every pair of cities, find the shortest possible route that visits every city exactly once and returns back to the starting point.
  7. PHP Hypertext Preprocessor

  8. “ElePHPant”

  9. None
  10. Percentages of websites using various server-side programming languages 20 %

    40 % 60 % 80 % 100 % PHP ASP.NET Static Files Java Ruby ColdFusion JavaScript Perl Python 0.2 % 0.3 % 0.5 % 0.6 % 0.6 % 2.2 % 2.3 % 12.9 % 83.5 % Source: W3Techs.com, September 2018
  11. Open source, object-oriented, web application framework.

  12. Application Management Content Framework Driven Platform System Module Plugin Web

    Data Plugin Module 2
  13. The Reality “That’s not a bug, that’s a feature.” Features

    Testing Updates Bug Reports Troubleshooting Documentation
  14. Writing New Code Modifying Existing Code Understanding Code Source: “What

    Do Programmers Really Do Anyway?” by Peter Hallam
  15. Understanding Code

  16. There is no such thing as beautiful code.

  17. User Experience Driven Development The biggest challenge is understanding the

    problem that you are trying to solve.
  18. None
  19. None
  20. Possibility vs Feasibility A plugin should do one thing and

    do it well.
  21. Warp Time Don’t get distracted by the noise.

  22. Refactoring Restructuring your code for readability and reusability without changing

    its external behaviour. Technical Debt Maintainability Readability Reusability Complexity Bloat
  23. } }

  24. Documentation

  25. None
  26. None
  27. None
  28. Specialisation

  29. do the demo

  30. Craft 3 plugin development videos have landed. Available today.

  31. In conclusion...

  32. Thank You Ben Croker @ben_pylo PutYourLightsOn

  33. Acknowledgements Pixel & Tonic – creators of Cra CMS JetBrains

    – makers of PhpStorm Alexander Makarov – core maintainer of Yii Ryan White – advice and guidance on presentation Ryan Irelan – training partner and founder of cra quest.io Simon Oberrauner – paragliding photos Vladimir Reznichenko – creator of Php Inspections and Yii2 Inspections Ondřej Mirtes – creator of PHPStan Philip Sharp – editor of afieldguidetoelephpants.net Programming Wisdom (@CodeWisdom) – inspirational quotes The entire Cra CMS community for their endless support and willingness to help each other out!