PHPackages                             ua1-labs/firebug - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. ua1-labs/firebug

AbandonedLibrary[Testing &amp; Quality](/categories/testing)

ua1-labs/firebug
================

An expandable PHP debugger panel.

2.2.0(6y ago)424212MITPHPPHP &gt;7.1.0

Since May 16Pushed 6y ago1 watchersCompare

[ Source](https://github.com/rustygoldcoin/firebug)[ Packagist](https://packagist.org/packages/ua1-labs/firebug)[ RSS](/packages/ua1-labs-firebug/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (1)Versions (20)Used By (2)

FireBug
=======

[](#firebug)

An expandable PHP debug panel.

The true power of FireBug is that it can easily be added to any project and expanded upon! You can even create your own panels to track whatever data you care about while your going through debugging. FireBug comes featured with a `Debuggers` panel. Which allows you to call `debugger()` anywhere inside of your application. All debuggers will display the entire `debug_trace` along with `var_dump` within the "Debuggers" section of the FireBug Panel.

### Documentation

[](#documentation)

### Installation FireBug Using Composer

[](#installation-firebug-using-composer)

```
composer require ua1-labs/firebug

```

### Enable FireBug

[](#enable-firebug)

For performance reasons, firebug is initially disabled and needs enabled in order to use it. Here's how:

```
$fireBug = \UA1Labs\Fire\Bug::get();
$fireBug->enable();

```

**FireBug Timer**

Once FireBug is enabled, it will start a timer that will report how much time it takes to load your page and return your request. Keep in mind, that times are determined by when you enable FireBug.

### Render FireBug

[](#render-firebug)

Once you've installed FireBug, it's time to output it somewhere in your HTML.

```
$fireBug = \UA1Labs\Fire\Bug::get();
echo $fireBug->render();

```

When rendering out FireBug, it is suggested that you place it the footer of your application.

### Debugger Panel

[](#debugger-panel)

As mentioned before, FireBug comes bundled with a "Debuggers" panel. This panel allows you to replace your use of `var_dump` and `debug_trace`. When FireBug is installed in your application, all you have to do is call the `debugger(mixed $value);` function and let FireBug do the work. This function can take any value and will simply `var_dump` and `debug_trace` it within the "Debuggers" panel of FireBug.

Example:

```
debugger('debug value...');

```

Debuggers also take a second parameter called `exit`. If you decide you need to exit the execution of any process and render the debug panel at that point in execution, you may do so by passing in true as a second parameter.

Example:

```
debugger('debug value...', true);

```

#### Debugger Panel and X-Debug Overlay

[](#debugger-panel-and-x-debug-overlay)

In this project, it was decided to disable x-debug overlay for var\_dumps. This makes it easier to read the entire output of debuggers without having to scroll to much left and right. So, if you would like to enable it, here is the code you will want to run when you initize your application.

```
$fireBug = \UA1Labs\Fire\Bug::get();
$debuggerPanel = $fireBug->getPanel(\UA1Labs\Fire\Bug\Panel\Debugger::ID);
$debuggerPanel->enableXDebugOverlay();

```

### Creating And Registering Your Own Panel

[](#creating-and-registering-your-own-panel)

We've given you everything you need to easily create your own panel.

1. Create your own Panel Class:

    ```
     namespace \UA1Labs\Fire\Bug\Panel;

     use \UA1Labs\Fire\Bug\Panel;

     class MyOwnPanel extends Panel
     {
         const ID = 'myOwnPanel';
         const NAME = 'My Own Panel';
         const TEMPLATE = '/path-to/my-own-panel.phtml';

         public $myName;

         public function __construct()
         {
             parent::__construct(self::ID, self::NAME, __DIR__ . self::TEMPLATE);
             $this->myName = 'Testy Testerson';
         }

         public function myInfo()
         {
             return '1 Awesome Dude, Orlando, FL, 32708';
         }
     }

    ```
2. Create a panel template file:

    ```

    ```
3. Register Your Panel

    ```
     $fireBug = Fire\Bug::get();
     $fireBug->addPanel(new \UA1Labs\Fire\Bug\Panel\MyOwnPanel());

    ```

Three easy steps and you just added your own panel to FireBug! Now with that being said, here is some info about how it works behind the scenes. Panels act as ViewModels. In the way that any data or methods you add to the panel object itself will also be available to the template object. In the example panel above you can see that the panel was created with a public property called `myName` and a method `myInfo`. In the template, you can see we are echoing out these values.

### Timer

[](#timer)

FireBug also comes bundled with a timer you may use to detect how much time a process takes. Here's how to use the timer:

```
$fireBug = Fire\Bug::get();
//get a start time
$startTime = $fireBug->timer();
//get time length in milliseconds
$timeLength = $fireBug->timer($startTime);

```

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~35 days

Recently: every ~105 days

Total

19

Last Release

2292d ago

Major Versions

1.8.1 → 2.0.02019-10-27

### Community

Maintainers

![](https://www.gravatar.com/avatar/011120e2cbda7f8b2ff3cc55ee097b334b2498d4887517d9ae36d91ebe76f7cc?d=identicon)[thebytebar](/maintainers/thebytebar)

---

Top Contributors

[![joshua-johnson-disney](https://avatars.githubusercontent.com/u/181119147?v=4)](https://github.com/joshua-johnson-disney "joshua-johnson-disney (8 commits)")

---

Tags

testdebuggingdebuggervar\_dumpfirefirestudioua1labsua1-labsua1

### Embed Badge

![Health badge](/badges/ua1-labs-firebug/health.svg)

```
[![Health](https://phpackages.com/badges/ua1-labs-firebug/health.svg)](https://phpackages.com/packages/ua1-labs-firebug)
```

###  Alternatives

[mockery/mockery

Mockery is a simple yet flexible PHP mock object framework

10.7k497.0M23.6k](/packages/mockery-mockery)[hamcrest/hamcrest-php

This is the PHP port of Hamcrest Matchers

7.1k484.1M109](/packages/hamcrest-hamcrest-php)[nelmio/alice

Expressive fixtures generator

2.5k43.4M133](/packages/nelmio-alice)[zenstruck/foundry

A model factory library for creating expressive, auto-completable, on-demand dev/test fixtures with Symfony and Doctrine.

78311.9M97](/packages/zenstruck-foundry)[php-mock/php-mock

PHP-Mock can mock built-in PHP functions (e.g. time()). PHP-Mock relies on PHP's namespace fallback policy. No further extension is needed.

36918.1M98](/packages/php-mock-php-mock)[brain/monkey

Mocking utility for PHP functions and WordPress plugin API

33412.5M350](/packages/brain-monkey)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
