Zero-cost PHP debugging and testing environment

One of the nice things of developing in Linux-oriented scenarios (although I use Windows }:) is having free tools that sometimes shine for their quality.

Leaving apart the decision of the PHP IDE (there are a great range of both free and commercial ones), setting up a good debugging and testing environment can be done all with free software.

Firefox 3

This is the core. The extensibility of Firefox has made people to create all sort of tools, from embedded FTP clients to Ad-blocking extensions. Firefox will be the "engine" running most of the stuff.

Firebug

Firebug is THE Javascript and CSS debugging tool. From showing the httprequests a webpage does, to detailed inspection of HTML, CSS and DOM elements of a page, is a must for every web developer.

FirePHP

Developed as an extension for Firebug, FirePHP adds handling of PHP errors, warnings and debugging. Really useful and a must if you develop with PHP too.

PHPUnit

PHPUnit is the equivalent of JUnit or NUnit for PHP developers. Allows to create unit tests, assertions, and provides an extensible framework.

Selenium Core + IDE

Selenium Core is a server for launching PHPUnit test batteries against it (among others, it supports a wide variety of languages including Java, C# and Python).
Selenium IDE is a Firefox extension that allows to both record macros for web testing, and allows to create specific complex tests (like for example and XPath assert of the value of a field). Generates code in any of the supported Selenium languages

YSlow

YSlow is another extension for Firebug to find performance optimizations, like reduction of HTTP requests, compression of files (both HTML and JS/CSS), or specific headers.

UrlParams

The URLParams Firefox extension allows to tamper with the querystring parameters of any page you browse, allowing for simple tests or messing around with the parameters of any call }:)

Add N Edit Cookies

This FFox extension allows us to delete or edit any cookie.

CacheViewer

Finally, another extension for FFox, CacheViewer, which as its name implies. allows to see the contents of the browser cache fast and easily.

And as a bonus...

Yahoo! User Interface Library (YUI)

YUI (specifically the YUI Compressor), is a Javascript/CSS compressor, perfect to decrease the size of any CSS or JS (in my personal tests, I got near a 33% of shrinking). It can be configured to be more aggresive compressing (but in not properly formatted Javascript can cause problems) and even to obfuscate the resulting code.

As we can see, this is a powerful suite of tools at our disposal without any cost. And some of them are quite valuable even if developing with ASP.NET or Java. They might not be perfect, but help a lot to improve any website.

Note: You will also need Java JRE for both the Selenium core (a Java server application) and YUI (which is a command-line Java application too).

Zero-cost PHP debugging and testing environment published @ . Author: