Backward compatibility testing can be a bit of a drag. The actual testing may be straightforward, but setting up the environment often is not. A little while ago I have put a PHP app through its paces on Apache 1.3 with PHP 5.2. Apache 1.3 still accounts for about 5% of Apache installations out there. If an app is distributed directly to end users, perhaps on shared hosting, a market share of 5% is reason enough to make it work on old Apache, or at least give it a shot.
Current distros don't offer support for Apache 1.3, and haven't done so for ages. So here are my notes for setting up a reusable test system in a VM. I've also thrown in a recipe for setting up Java 6, which involves a bit of fiddling in a legacy OS. With Java 6 installed, even PhpStorm can be run in the stone-age VM.
Flexible, fluid, liquid, responsive - layouts which don't rely on a fixed width have had a comeback recently. The CSS max-width property is veryuseful in these designs. So is the knowledge about related browser bugs. Enter IE8.
I've been using Komodo a long time already for PHP and web development. It has a feature to run unit tests inside the IDE, but frankly it was never really working well, and I've been using my own setup. With PHPUnit 3.5, the Komodo test feature is finally broken. So now is probably a good time to share a replacement.
jQuery functions provide a convenient shorthand for retrieving information from the DOM. There is no need to think about browser-specific quirks – mostly. Here is a case where it doesn't work out.
Retrieving the size of a document should be a straightforward affair: a simple $( document ).width() or $( document ).height() call, and you are done. Yet in IE, these calls often return a size just a little bit too large. Sometimes they are off by as little as 4px, sometimes the difference accounts for the width of the scroll bar, or the scrollbar plus 4px. This bug has been around for a long time. As of jQuery 1.6.1, it is still with us, and it looks like it's going to stay that way.
In a GUI-driven operating system like Windows, where you don't hang around the command line that much, it is sometimes useful to run a PHP file from its context menu in Windows Explorer.
That's easy to set up. But a reasonably smart handler should perhaps not hand the file over to PHP blindly. PHPUnit test cases need a different treatment, so the handler could try to detect them and pass them on to PHPUnit instead.