FirePHP の使用例 + コメント
?
1. firePHP
とは
firePHP は ff のプラグインで、PHP デバッグ情報を firebug コンソールに出力するために使用されます。
2. firePHP
の用途は何ですか?
正式リリース後、ページ表示に影響を与えずにPHPをデバッグし、デバッグ情報をコンソールに出力します
3. firePHP のインストール
1.前提条件: ff プラグイン ---firebug
をインストールする必要があります
2.インストール:
a. サーバー側に FirePHPCore をインストールします。
コンポーネント
b. パッケージをプロジェクト ディレクトリに配置します (firePHPCore がプロジェクトのルート ディレクトリに配置されていると仮定します)
c. サーバーの使用方法(パッケージのインポート)
d. クライアントを開きます
Firebug コンソール、スクリプト、ネットワークを開きます。
現在の Web サイトを FirePHP 許可サイトに追加
3.
require('FirePHPCore/fb.php'); //导入包 /* NOTE: You must have Output Buffering enabled via ob_start() or output_buffering ini directive. */ /* 打开输出缓冲(因为Firephp主要用到的是header函数),有如下三种方法: * 在程序的前面加上ob_start() * 修改php.ini 将output_buffering设为1或者on * 修改apache的设置,在配置文件中加上php_flag output_buffering on */ ob_start(); /* 开始调试:可以调试输出以下数据类型: * 字符串,可以分为LOG,INFO,WARN,ERROR四种 都会在console中显示出一行结果,只不过显示的图标不同页已. * Object或者Array * 通过sql查询返回的数据 * 抛出的异常信息 * 服务器返回的信息(不输出在console中,而是NET中 */ fb('Hello World'); /* Defaults to FirePHP::LOG */ fb('Log message' ,FirePHP::LOG); //==fb('Log message','LOG');==fb('Log message'); fb('Info message' ,FirePHP::INFO); //==fb('Info message' ,'INFO'); fb('Warn message' ,FirePHP::WARN); //==fb('Warn message' ,'WARN'); fb('Error message',FirePHP::ERROR); //==fb('Error message','ERROR'); /* fb函数:参数一为需要显示的任意值(string|array|integer…) 参数二如果不是类型时,则为这行的标签。例fb(’string’,'label’,FirePHP::LOG) 则在console中显示为 label:string */ fb('Message with label','Label',FirePHP::LOG); fb(array('key1'=>'val1', 'key2'=>array(array('v1','v2'),'v3')), 'TestArray',FirePHP::LOG); function test($Arg1) { throw new Exception('Test Exception'); } try { test(array('Hello'=>'World')); } catch(Exception $e) { /* Log exception including stack trace & variables */ fb($e); } /* FirePHP::TABLE 会在console中显示出一个表格. 参数一的数组下标0的值为要显示的标题 参数一的数组下标1的值为要显示的行的信息 */ fb(array('2 SQL queries took 0.06 seconds',array( array('SQL Statement','Time','Result'), array('SELECT * FROM Foo','0.02',array('row1','row2')), array('SELECT * FROM Bar','0.04',array('row1','row2')) )),FirePHP::TABLE); /* FirePHP::DUMP 会在NET标签下的此页面请求的Server标签下显示你要输出的信息。 */ /* Will show only in "Server" tab for the request */ fb(apache_request_headers(),'RequestHeaders',FirePHP::DUMP); print 'Hello World';
もう 1 つ注意すべき点は、データのセキュリティのために、バグが修正され正式にリリースされると、FB::setEnabled(false) が必要になり、デバッグ情報がコンソールに出力されなくなることです
参照: http://blog.csdn.net/john_shen_tiro1/archive/2009/04/14/4071212.aspx
http://blog.csdn.net/leijuly/archive/2009/05/31/4227613.aspx
?