Automating NPM and Composer with Git Hooks

A look at automating NPM and Composer when checking out new branches and pulling from a remote Git repository using Git hooks.

Using PayPal's REST API with PHP and MySQL

A tutorial on getting started with PayPal’s REST API using PHP and MySQL I wrote recently for Evoluted’s Think Tank.

Essential Visual Studio Code Extensions for PHP Developers

VS Code

Visual Studio Code is hot stuff right now and is quickly becoming the editor of choice for developers worldwide. It’s available for Macs, Windows and Linux and best of all it’s free. These are what I consider the essential Visual Studio Code extensions for PHP developers to improve your productivity.

The Dangers of PHP's $$

A PHP question I particularly like to ask candidates at a job interview is to explain a bit of code that includes the $$ syntax for variable variables. It’s great if the candidate is already familiar with this feature of PHP; but what’s more important to me is that once the candidate understands how this syntax works that they can describe potential issues with using it.

Enforcing a PHP Version for Installed Composer Packages

If your development and production environments don’t match you can easily get tripped up when the time comes to deploy to the live server. It’s not too uncommon for developers to find themselves working with one version of PHP and using another in an app or website’s final destination. If you use Composer to manage PHP packages it would be nice to be able to take this into account to avoid any nasty surprises post deployment. Thankfully Composer has this covered.

Setting Up Travis Locally with Docker to Test Continuous Integration

TravisCI is a great service for running your continuous integration scripts, but when something isn’t working it can be a pain to resolve. One way of testing your script in order to fix it is to install Travis locally using Docker.

Using Laravel's Bootable Eloquent Traits

A look at using PHP traits with Laravel’s Eloquent models, hooking them up with events and making them configurable.

CakePHP Social Share Plugin New Release

I’ve released the latest version of my Social Share plugin for CakePHP today.

PHPUnit: What, Why, How?

This is a brief introduction to Unit Testing with PHPUnit and is based on a lightening talk I gave at Sheffield PHP on the 18th January 2018. We’ll take a look at what unit testing and PHPUnit are, why we would use them and finally look at how we can start writing tests.

Overriding & Extending a PHP Trait Method

PHP traits provide a convenient means of sharing methods between classes. There are times though that we may need to override or extend a method defined in a trait attached to a class. Let’s take a look at how we can achieve this.