Development Workflow Tools for Open-Source PHP Libraries

"Hey, I just had a great idea for a new module!  It's new and different and it's going to be GREAT!  So, let's see here, what do I need to do? Well, I've still got some Drupal 7 sites, so I'll need two versions of the module. Maybe I should put some of the code in a library, so I don't have to put the same exact code in the Drupal 8 version of the module. I guess that means I'll need to register my project with Packagist. I'd better make sure that the code has some tests; it sure would be good to know how much code coverage I'm getting, and whether the library is standards-compliant, and it would be nice to get some feedback if my classes and methods start to get too complicated. Since I'm making a library, it would be really rightous to provide some good documentation. It would be handy if I could throw in a phar, so that users could fiddle with the code from the command line. The cool kid's GitHub projects have these neat looking badges at the top of their README files; if my project looked cool like that, maybe more people would submit pull requests. Maybe I should tell people how to contribute and report issues. I guess I'd better sit down for a few days and build a fancy website for my library that pulls all of this together. This modularity thing is starting to sound hard; maybe I should just skip it."

Having a fine-tuned continuous integration environment is extremely valuable, even for small projects. Today, there is a wide variety of standalone projects and online Software-As-A-Service offerings that can super-streamline your everyday development tasks that can help you get your projects up and running like a pro. In this session, we'll look at how you can get the most out of:

  • GitHub source code repository
  • Packagist package manager for Composer
  • Travis CI continuous integration service
  • Coveralls code coverage service
  • Scrutinizer static analysis service
  • Box2 phar builder
  • Sami api documentation generator
  • ReadTheDocs online documentation reader service
  • Composer scripts and projects for running local tests and builds

After mastering these tools, you will be able to quickly set up a new php library project and use it in your Drupal modules.

Session Track

PHP

Experience level

Beginner

Drupal Version

N/A

Session Time Slot(s)

Time: 
04/25/2017 - 10:45 to 04/25/2017 - 11:45
Room: 
319 - Platform.sh