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

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

Introducing ZuQ – A Simple ZeroMQ Queuing Daemon

We recently had the need to create a queuing system to replace an implementation of RabbitMQ that was being used on a previous project. The reasoning behind this is that the requirements of the project required a very custom implementation of a queuing system that would drastically alter in architecture as the project grew and RabbitMQ just wasn't going … Continue reading Introducing ZuQ – A Simple ZeroMQ Queuing Daemon

Docblock, Oh Docblock, wherefore art thou Docblock (hint: Zend Optimizer Plus lost them)

tl;dr> I make a terrible assumption about Zend Optimizer+ and am corrected by Dominic in the comments; Terrible post title I know but its the best I could come up with. I've just come up for air after spending the majority of the day debugging some issues on our current development sandbox. Now our sandbox … Continue reading Docblock, Oh Docblock, wherefore art thou Docblock (hint: Zend Optimizer Plus lost them)

Debug PHP CLI on Remote Server with Xdebug and PHPStorm

This was a head scratcher when I ran into this yesterday and I thought I would share my solution to the following scenario: I need to debug PHP Command Line script, located on Remote LAMP Virtual WebServer running in Virtual Box with a Shared Folder, using local PHPStorm 5.0. The solution: You first must set … Continue reading Debug PHP CLI on Remote Server with Xdebug and PHPStorm

Compiling PHP 5.4 on Ubuntu 12.04

So recently I've been working with PHP 5.4 a LOT. Unfortunately Ubuntu (my main dev environment) is behind the times. So I'm resorting to compiling PHP manually. Not a daunting as it may first appear. The really tricky part is working out your dependencies and `configure` script. Hence the reason for this post as a … Continue reading Compiling PHP 5.4 on Ubuntu 12.04