#navi(FireBug)
# FireBugをPHPのデバッグに使用する
FireBugのコンソールには、PHPのデバッグ情報などを出力させることが可能です。ただし、JavaScriptで使用する場合と異なり、 **リリース前にすべてコメントアウトしないと恐ろしい事が起きます** 
@[toc]

# Buggy.class.php
http://ajax.phpmagazine.net/2007/02/how_to_use_firebug_to_debug_ph.html

## 使い方
上のアドレスからスクリプトをコピペして以下の行をコメントアウトし、Buggy.class.phpとする。
```
//trigger_error("Error Message", WARNING);
//trigger_error("Just for info", NOTICE);
//trigger_error("This is fatal", FATAL);
```

デバッグしたいphpにrequire_once('Buggy.class.php');で読み込ませると、コンソール画面にバグが起きた場所が表示される。

## 使用例
http://192.168.88.51/puny/

![,50%](buggyclassphp.JPG)

## 長所・短所
* 長所
  * Scriptタグを用いているためFireFox以外でも使用可能。
* 短所
  * 原理的にソースがScriptタグだらけになってしまう。

# FirePHP（FireFox専用！）
http://firephp.org/

FireFoxに[FireBug](http://getfirebug.com/jp.html)と[FirePHPアドオン](https://addons.mozilla.org/en-US/firefox/addon/6149)をインストール。

## 使い方
参考：http://www.firephp.org/Wiki/Main/QuickStart

デバッグしたいスクリプトにFirePHPのfp.phpを読み込ませる。
```
require('FirePHPCore/fb.php');
```

PHPのOutput Bufferingを有効化する。（ob_start()をスクリプトの先頭に入れるとか。）

コンソールに出力する場合は、
```
fb('Hello World');
```
という形式で出力。

console.warnなどのconsoleの.以下の指定は、以下のようにする。
|     |     |
| --- | --- |
|~JavaScript|~PHPコード|
|console.log('Log message')|fb('Log message'  ,FirePHP::LOG);|
|console.info('Info message')|fb('Info message'  ,FirePHP::INFO);|
|console.warn('Warn message')|fb('Info message'  ,FirePHP::WARN);|
|console.error('Error message')|fb('Info message'  ,FirePHP::ERROR);|
|console.dir('Server Variables',$_SERVER)[^1]|fb($_SERVER, 'Server Variables', FirePHP::DUMP);|

## 使用例（FireFox専用です）
FireFoxを入れていないブラウザでは何も変化がありません。
* http://192.168.88.51/FirePHPCore/demo/oo.php
* http://192.168.88.51/FirePHPCore/demo/procedural.php
![,50%](firephp.JPG)

## 長所・短所
* 長所
  * 独自のメソッドを使用しているため、ページ出力には何ら影響がない。
  * [Zend Frameworkとマージ可能](http://www.christophdorn.com/Blog/2008/09/02/firephp-and-zend-framework-16/)
* 短所
  * FireBugとFirePHPがインストールされたFireFoxでないと使用できない。
  * output bufferingを有効にしていないと使えない

[^1]:あくまでもJavaScriptならこう書くという意味です

---

## Page Navigation

- Canonical URL: https://logue.be/FireBug/PHPのデバッグ
- Permalink: https://logue.be/66d5d4e64b8138004c26fbab
- Parent: [FireBug](/66d5d4e44b8138004c26fba8.md)
- Children: 0 total
- Total descendants: 0
- Siblings: 0 total
- Last updated: 2024-09-02T16:46:47.836Z by 
- Full page listing (all children regardless of count): https://logue.be/_api/v3/page-listing/children?id=66d5d4e64b8138004c26fbab
