pvm – PHP Process virtual machine for building and executing workflows

At some point last year I wrote the blog post titled “Getting started with workflows in PHP“.  I received quite a bit of feedback about it, but, unfortunately, the priorities at work shifted and I haven’t done much more with workflows since than.

The world, however, hasn’t stopped.  The tools and libraries that existed a year ago are still around and they got a lot better.  Additionally, there are a few new tools that help with workflows, state machines, and the like.

Today I came across a really useful and easy to use tool for building and executing workflows in PHP – pvm, aka PHP Process Virtual Machine.  It’s built and released as Open Source software under MIT license by the excellent guys at Forma-Pro.   If you are still looking for a tool to build and execute workflows, I strongly suggest you give PVM a try.  Given how complex the nature of the problem, this tool is probably the easiest to get started with.

PhpMetrics – static analysis tool for PHP

PhpMetrics is yet another tool in the ever growing list of the static code analyzers for PHP.  Compared to the rest, I think this one is the easiest to install and run.  And it produces the most eye candy reports ever.  The generated report is in the HTML format, with fancy charts and graphs, and makes it really easy to spot and fix the issues.

composer-plugin-qa – Composer Plugin for PHP Quality Assurance Tools

composer-plugin-qa is a Composer plugin which adds all the most popular PHP quality assurance tools as composer scripts, so that you don’t have to install and set them up one by one.  The list of tools includes the following:

  • PHPUnit: Testing Framework
  • PHPCOV: CLI frontend for the PHP_CodeCoverage
  • Paratest: Parallel testing for PHPUnit
  • DbUnit: Puts your database into a known state between test runs
  • PHPLOC: A tool for quickly measuring the size of a PHP project
  • PHPCPD: Copy/Paste Detector
  • PHP_Depend: Quality of your design in the terms of extensibility, reusability and maintainability
  • PHPMD: User friendly frontend application for the raw metrics stream measured by PHP Depend
  • PhpMetrics: Static analysis tool, gives metrics about PHP project and classes
  • PHP_CodeSniffer: Detects violations of a defined set of coding standards
  • PHP-CS-Fixer: A tool to automatically fix coding standards issues
  • Security-Checker: Checks if your application uses dependencies with known security vulnerabilities

This list is very similar to the one in my other recent post.

PHP application logging with Amazon CloudWatch Logs and Monolog

AWS Developer Blog ran this post a while back – “PHP application logging with Amazon CloudWatch Logs and Monolog“, in which they show how to use Monolog and Amazon CloudWatch together in any PHP application.  It goes beyond a basic configuration of connecting the two, all the way into setting up log metrics, etc.

Working With PHP Arrays in the Right Way

Working With PHP Arrays in the Right Way” is a collection of tips and tricks on the array functions in PHP.  PHP is weird, to say the least, when it comes to arrays, compared to many other programming languages, so articles like that are useful for pointers to better ways of doing things.

I think that even experienced PHP developers will find a bit or two that they either didn’t know or forgot about.