Category Archives: PHP

The State of Play of E-Commerce

Traditionally I am a full-stack developer, focussing on PHP. I work at a development agency, and lots of our clients have e-commerce websites. In fact, much of the Internet is based around e-commerce. That’s why I find it so difficult to understand the current state of play of the e-commerce offering.

PHP is the most popular programming language on the web. Lots of people have beef with PHP, but its popularity is a fact. As such, lets look at the PHP-based e-commerce solutions available.


Magento is the most popular e-commerce platform on the web. Many e-commerce sites I build are in Magento.

Magento has a few flaws that I would consider pretty major when choosing an e-commerce platform.

It’s slow. This is down to its fundamentally flawed database structure (built on EAV) and architecture (hundreds of XML files). Many major hosting providers won’t even touch a Magento website…

WordPress Hosting Comparison

WordPress Hosting Comparison is a website I launched this week. The website lists the main web hosts in the industry that supply managed hosting. The website doesn’t include providers of what I would deem to be more bare bones systems, where you would receive root access to a (virtual) box, but instead focuses on providers who offer tailored hosting solutions ready to go.

Not all of the providers offer a WordPress-specific hosting option, but many do. However, all of the web hosts and all of the web hosting packages within the comparison will fully support WordPress. Many of the providers have WordPress only packages, and some have WordPress pre-installed and optimised with their own in-house plugins tailored specifically for their own servers.

The website itself is built in Ruby on the Rails framework. I created the website as an opportunity to learn a little more about…

OpenCart Database Cache

I recently developed a plugin for OpenCart, the plugin (excuse the cheese) is called: Super FAST Database Cache.

I’ve been using OpenCart for years, and prefer it over Magento for a dedicated shopping cart (I’m quite fond of WooCommerce too). I decided to bundle up this plugin as I wrote it for a website that required a bit of a better caching solution than the out-of-the-box caching that ships with OpenCart.

The plugin is purely a database cache. It replaces the default MySQL driver, rather than the somewhat dirty vqMod implementations that seem to be the norm. The only drawback is that different OpenCart versions have different class names and locations for the drivers, even on minor version changes.

So how does it work? The database driver will MD5 hash the query, and check if a cache file exists with that name, if so (and it hasn’t expired)…

Magento Go is no more

Magento Go

Magento, the e-commerce platform owned by eBay, has a hosted version of its software, called Magento Go.  Magento is notoriously difficult to host due to its fragmented architecture, and a hosting solution, even for a relatively low traffic Magento website can often cost in the hundreds of pounds per month.  That makes Magento Go very appealing to some store owners, as that headache is taken away – you just pay your monthly fee and forget about it.

It does come with some down sides though.  You’re highly limited as to what you can do with Magento Go.  There are only 17 extensions available to extend the functionality, most of which aren’t free.  Compare that to the tens of thousands of extensions available for Magento CE (the free, self-hosted version), many of which are free, and you can see how this could be limiting, especially for larger…

The new PHP will be called PHP 7

The title says it all.  In a recent post I spoke about how I voted for the next version of PHP to be called PHP 7 over PHP 6.

In summary, the current brand of PHP is PHP 5.x, so the most logical next version would be PHP 6.x.  However, PHP 6 once existed, although it was never formerly released.  There are articles, blogs, and books available about PHP 6 and the then proposed changes.  PHP 6 exists, but the release never happened – but it does exist.  And that is what I based my vote on.

The vote has now closed and PHP 7 won, with a ratio of 58 votes for PHP 7 to 24 for PHP 6.

The PHP 6 RFC has the full vote breakdown.

Why I voted for PHP 7

The next iteration of PHP is getting closer, and the conversation currently hitting the internals mailing list is what that next iteration actually is; PHP 6 or PHP 7.

It sounds a little bizarre.  The current version is 5, so surely the next version is 6, right?  Well, here lies the problem.

Some background

PHP 6 was attempted some time ago.  There were numerous features pegged, but the big problem was Unicode support.  Cutting a (very) long story short; there were too many hurdles and it didn’t happen.  PHP 6 was shelved and many of the useful features already developed were merged into the 5.x branch.

PHP 5.3 was released in June 2009 and was a huge step forward.

So why 7?

There are a number of reasons:

6 existed.  It may not have been formally released, but it existed.  The next version of PHP is not…