A metaphor about PSR-7 and Middleware for non-developers

Never one to shy away from coming up with a metaphor for explaining something technical I found myself having to come up with one on the spot for PSR-7 and Middleware while at the recent PHPNW15 Conference. Normally my brain will come up with something completely inappropriate but this time round I found I quite … Continue reading A metaphor about PSR-7 and Middleware for non-developers

Flexbox cross browser

Despite having been around for a while and having been through a couple of revisions, its support across browsers can vary greatly. From "Candidate Recommendation" on Chrome/Opera, "legacy flexbox" on Firefox and no support at all on IE9 and earlier. Making flexbox work consistently across browsers was a challenge for us on a recent project, … Continue reading Flexbox cross browser

Creating Custom Routes in Silverstripe 3.1

We wanted to create a Route to our custom Products Controller in our products module for SilverStripe 3.1, such as: "http://www.examplesite.com/products/<product-slug>" However looking at the Controller Documentation it was not clear how to create a route without an Action being supplied. In our example above the action is not specified, as we just want to … Continue reading Creating Custom Routes in Silverstripe 3.1

Set up SilverStripe 3.1 using only Git (No Composer)

We recently tried to use composer to set up SilverStripe 3.1, but ended up with a dependency nightmare. In order to work around this we decided to make use of Git submodules. First set up your Git repository and run: git init Next set up a site directory for the code inside your Git repository. … Continue reading Set up SilverStripe 3.1 using only Git (No Composer)

Enabling MYSQL_CLIENT_INTERACTIVE with Doctrine 2 on Rackspace Cloud Database

We recently ran into problem using Doctrine 2 connecting to a Rackspace Cloud Database using the MySqli Driver. Problem: We have a long running PHP script that can sometimes run for hours at a time¬†whilst processing information. This script requires a connection to a database, but has long periods of inactivity where there is no … Continue reading Enabling MYSQL_CLIENT_INTERACTIVE with Doctrine 2 on Rackspace Cloud Database

Installing PECL extensions for Zend Server 6

Recently we have revisited using Zend Server for some of our projects and decided to give the new version 6 a chance to prove itself. Overall its a big improvement over version 5. There are still some things that are extremely annoying but we have decided that we can overlook them. However there is one … Continue reading Installing PECL extensions for Zend Server 6