All posts in PHP

I’ve just read this interesting post on how to speed up your web application with an automated system for working with browsers cache for your assets (CSS, JavaScript, images etc.).

Previously I’ve used query strings parameters within asset requests so that they act as a ‘cache bust’ parameter, these have usually been the source control revision number and is built into the release process. But I’ve never taken the step of force an expiry date on content that can be cached and the solution in the post is a lot more fine grained than my previous solutions. Something to consider for the future.

Code: MXML GeSHi Language File

3 comments, join the discussion.

While just writing my first post about Flex which required some code examples in MXML, I found that currently GeSHi (Generic Syntax Highlighter) doesn’t have a MXML language file, and I couldn’t find one when I did a few searches.

So using the XML language file as a base I quickly knocked one together.

Behold the beauty that is now, version 4 or 5 I think. As I mentioned a few weeks back:

…when I was releasing the JavaScript Image Cropper UI I really noticed how much this theme had begun to bug me, mostly for it’s lack of definition and space. It’s a tweaked version of a great WordPress theme, it has served me well, but I feel it’s time for a change. So I have created a design from scratch…

So here it is in all it’s glory and on a new server to boot, as since the launch of the Image Cropper UI and the resulting traffic the old server has been up and down like a yo-yo. Luckily plans were already in place for the new server and the build was completed late last week.
Continue reading this entry »

Today I’m proud to announce the launch of a site I have been working on for quite a while, so without further to do I introduce to you Ignite Image, web design for musicians. is a website for my web design company Ignite Image, which specialises in creating stylish, modern, accessible, functional, professional, exciting and standards compliant websites for bands and musicians. I’m extremely proud of both the aims and objectives of this website and company and the website itself.
Continue reading this entry »

Updated the PHPUnit2 HTML Runner to apply a fix provided by Glen Ogilvie for the Formatter when it tries to find the original exception that was thrown.

I also tided the Formatter up a bit by adding much needed comments to explain the functionality it provides in the context of the HTML Runner.
Continue reading this entry »

I’ve recently started to get into using Test Driven Development in almost everything that I am able to because I’ve begun to really see and experience the benefits that it brings to development. The basic advantages of TDD are covered very well in an article by Robert Blackburn, Test Driven Development with ColdFusion Part I: An Introduction to Unit Testing so I won’t cover them here.

I’ve been playing around with the xUnit family of testing frameworks in PHP, Coldfusion and JavaScript and really like the way they handle testing. However having been spoilt slightly by CFCUnit and JSUnit with their HTML GUIs I found the text runner in PHPUnit to be lacking for my needs.

So taking inspiration from the interface of CFCUnit I created the PHPUnit2 HTML Runner.

Updated Application Constants Mach-II PHP Plugin which addresses the following issues:

  • Fixed spelling mistake that caused PHP notice to be thrown when constants file has no common block.
  • Fixed bug whereby absolute paths for constants file would throw “file not found” exception.
  • Fixed bug in exception handling which would cause Mach-II to die.

View the Application Constants Mach-II PHP code page for the download and instructions on it’s implementation.

I have just added a PHP port of Martin Laine’s Application Constants Mach-II Coldfusion plugin to my new code section. It allows you to set application constants for multiple environments (development, staging, production etc.) in an XML configuration file, these constants are then read into the Mach-II properties.
Continue reading this entry »