Category Archive: Zend Framework
August 3, 2011

If you recently upgraded to Firebug 1.8 you will have noticed that FirePHP no longer worked and when visiting you would have seen a notice prompting you to upgrade to DeveloperCompanion.

The FirePHP Extension now (0.6) works again with Firebug 1.8: (will appear on mozilla add-ons once approved)

What Happened?

I have been working on FirePHP 1.0 (comparison) for a few years now to come up with a streamlined way to develop PHP (and other languages) code in the modern web environment. To make this a reality a new server library and client is needed. I wrote both of these from scratch based on a bunch of research utilizing the latest technologies (especially for the client).

What sets the FirePHP 1.0 (server library) apart is that it includes a new cross language intelligence system called Insight intended to bring the FirePHP way of debugging to other programming languages. Furthermore Insight is designed to support multiple clients that can embed the Insight system (composed of CommonJS modules) in order to bring native support to IDEs and other developer tools (this aspect is not ready yet but will receive significant attention in time).

I wrote the new client (DeveloperCompanion) to support all existing FirePHP Extension features plus new ones (to be released with Firebug 1.9) free of charge. The paid version builds on the free foundation by offering more streamlined and time-saving features.

The arrival of Firebug 1.8 brings along a bunch of internal changes which broke the FirePHP Extension 0.5 release. Given that DeveloperCompanion is sufficiently ready I decided not not fix the FirePHP Extension and thought I would upgrade users to DeveloperCompanion to ensure everyone can keep using FirePHP with Firebug 1.8.

Feedback from users

Then I started receiving feedback about this decision. Users were not happy that they were now required to install a commercial extension. I did not think that this would be a problem. In my view the free features DeveloperCompanion offers are superior to the ones offered by the FirePHP Extension (if you don’t think they are let me know so we can make it so) and since 2007 I have received only one patch for the FirePHP Extension. I thought users would not object to a closed-source extension for a while until FireConsole is ready.

There seem to be two groups of FirePHP users. One is looking for and needs the new features that FirePHP 1.0 brings and the other is happy with the simple approach of the FirePHPCore library and insist on the entire stack being open source at all times.

Go forward

I have decided to continue to maintain the FirePHP Extension but it will not be upgraded to be compatible with the new FirePHP 1.0 Insight features. That means the FirePHP Extension will continue to support the FirePHPCore library only and implementations written to be protocol compatible such as the native Zend Framework implementation.

Users who want to use the FirePHP 1.0 Insight features with an open source extension will need to wait for FireConsole. Anyone who does not object to installing a free closed-source client can use the new FirePHP 1.0 Insight features today with DeveloperCompanion.

Finally, anyone looking for features that will streamline their PHP and JavaScript development workflow and toolchain can license DeveloperCompanion and as a result support the further development of FirePHP, Insight and related technologies. I know we all love open source but producing open source software still takes time and money. I appreciate your support.

I trust that this will satisfy everyone’s needs. If not, please let me know.

December 17, 2010

FirePHP can be useful when debugging remote PHP applications on shared or dedicated servers. This tutorial illustrates how to setup FirePHP 1.0 on Magenting which is a managed Magento hosting service.

Account Creation

Go to and create an account. This tutorial was prepared by using a Spark account, but it should work just the same with all plans.

If you already have an account you can of course skip this step.

Continue reading »

October 28, 2010

I have finished and released updates to the FirePHP Firefox Extension, FirePHPCore Server Library and Zend Framework implementation. The updates include various bug fixes and new features.

Continue reading »

October 15, 2010

FirePHP is most often used for ad hock logging of variables during development by placing logging calls at strategic places in your code.

$someVariable = 'Some value';
// using FirePHPCore
$firephp = FirePHP::getInstance(true);
// using Zend_Log_Writer_Firebug
$logger = new Zend_Log(new Zend_Log_Writer_Firebug());
$logger->log($someVariable, Zend_Log::DEBUG);

This works well for variables that contain small amounts of data. String, boolean and integer values are typically small and do not require much consideration. Array and object values may contain a lot more data as FirePHP traverses them (all array elements and object members) until the complete or maximum depth is reached. This is also true when logging exceptions and traces where all function and method arguments are also traversed. The data volume can quickly grow to megabytes which has fatal consequences for transmission of the debug data to the client and the client being able to render it.

FirePHP includes some solutions to these problem that you can take advantage of.

Continue reading »

January 16, 2009

Integrated Development Environments in general and Eclipse/Aptana Studio specifically provide tree-based project explorers used to locate and launch files by displaying the file system that contains your project code. Typically the simple directory and file tree is marked up with:

  • Icons for different file extensions
  • Version information about the directories and files if connected to a version control system
  • Context menus specific to each directory and file

This widely accepted approach to represent code files in a project has worked well in the past because projects and project components were typically:

Continue reading »

October 14, 2008

Eran Galperin has written a great post on profiling MySQL queries with Zend_Db and optimizing them by hand.

He explains how to use Zend_Db_Profiler to analyze all SQL queries on a page and how to improve the performance of the queries by adding indexes.

Here is a quick modification to his example that will send the profiling information to firebug instead of printing it to the page.

Continue reading »

September 2, 2008

The long awaited day has arrived. Zend Framework 1.6 just shipped and with it native support for FirePHP!

This means that if you use Zend Framework (ZF) you can now log to your Firebug Console via FirePHP without needing to download any other PHP files such as the FirePHPCore library.

There are two primary components available at this time. One is the Zend_Log_Writer_Firebug and the other the Zend_Db_Profiler_Firebug.
Continue reading »