作者 主題: [PHP] 好用 Debug PHP 工具 FirePHP for FireFox on CodeIgniter  (閱讀 2609 次)

0 會員 與 1 訪客 正在閱讀本文。

appleboy

  • 活潑的大學生
  • ***
  • 文章數: 224
    • 檢視個人資料
    • 小惡魔筆記
原文:好用 Debug PHP 工具 FirePHP for FireFox on CodeIgniter



之前介紹過 javascript FireFox Debug 工具 FireBug (Using firebug for firefox 除錯 javascript),今天來介紹 PHP 除錯工具 FirePHP,它可以輸出 PHP 資料到 FireBug console 介面,方便解決 PHP 相關問題,而不會去影響線上網站的畫面,安裝方式非常簡單,請先安裝 FireFox addon for FirePHP,重新啟動 FireFox 這樣就安裝成功了,接下來就是 include FirePHP Library 檔案,就可以正常使用了。另外還會介紹如何安裝到 CodeIgniter PHP Framework

Firebug: https://addons.mozilla.org/en-US/firefox/addon/1843
FirePHP: https://addons.mozilla.org/en-US/firefox/addon/6149

底下先看畫面:

代碼: [選擇]
<?php
$array 
= array("a" => "1""b" => "2");
$firephp->info($array"info");
$firephp->warn($array"warn");
$firephp->error($array"error");
?>



Install FirePHP 安裝
Ref : http://www.firephp.org/HQ/Install.htm
在 Zend Framework 已經有開發完成,可以參考:FirePHP and Zend Framework 1.6
下載檔案:Download FirePHPCore library version 0.3.1

unzip FirePHP (解壓縮)
您會發現 FirePHPCore 底下有四個檔案,其中 fb.php && FirePHP.class.php 給 PHP 5 用的,另外兩個 fb.php4 && FirePHP.class.php4 則是給 PHP 4 專屬,本文只會以 PHP 5 當作範例。

include FirePHP file
新增一個 index.php 檔案,在最上面寫入:

代碼: [選擇]
require_once('FirePHPCore/FirePHP.class.php');Start output buffering
假設您在 php.ini 有設定 output_buffering 為 on,就可以省略此步驟

代碼: [選擇]
<?php ob_start();?>測試完整檔案
代碼: [選擇]
<?php
require_once(&#39;FirePHPCore/FirePHP.class.php&#39;);
ob_start();
$var = array(&#39;i&#39;=>10, &#39;j&#39;=>20);
$firephp FirePHP::getInstance(true); 
$firephp->log($var, &#39;WARN&#39;);
?>
FirePHP 預設是啟動的,如果您要將此關閉,可以使用底下程式碼將其關閉:

代碼: [選擇]
/**
   * Enable and disable logging to Firebug
   *
   * @param boolean $Enabled TRUE to enable, FALSE to disable
   * @return void
   */
$firephp->setEnabled(false);
也可以自訂選項:
maxObjectDepth 顯示 object 資料深度
maxArrayDepth 顯示 array 資料深度
useNativeJsonEncode 設定為 false 就是代表使用 FirePHPCore 內建 JSON encoder 來取代 PHP 內建 json_encode()。
includeLineNumbers 顯示檔案名稱以及行號資訊

代碼: [選擇]
// Defaults:
$options = array('maxObjectDepth' => 10,
                 'maxArrayDepth' => 20,
                 'useNativeJsonEncode' => true,
                 'includeLineNumbers' => true);


Install FirePHP on CodeIgniter
1. move fb.php and FirePHP.class.php into system/application/libraries directory.
2. rename FirePHP.class.php to Firephp.php, and fb.php to Fb.php.
3. edit Firephp.php file.

代碼: [選擇]
#
# Find 
#
<?php
#
# Replace
#
if ( ! defined(&#39;BASEPATH&#39;)) exit(&#39;No direct script access allowed&#39;);
edit Fb.php file

代碼: [選擇]
#
# Find 
#
<?php
#
# Replace
#
if ( ! defined(&#39;BASEPATH&#39;)) exit(&#39;No direct script access allowed&#39;);
Edit config/autoload.php file

代碼: [選擇]
#
# Find
#
$autoload['libraries'] = array();
#
# Replace
#
$autoload['libraries'] = array("firephp", "fb");
[size=150]How to use it?[/size]
代碼: [選擇]
<?php
function index()
{
  
$a "test";
  
$array = array("a" => "1""b" => "2");       
  
//$this->firephp->log($a, &#39;ERROR&#39;);
  //$this->firephp->log($a, &#39;ERROR&#39;);    
  
$this->fb->setEnabled(true);    
  
$this->fb->info($array"info");
  
$this->fb->warn($array"warn");
  
$this->fb->error($array"error");
  
$this->fb->group(&#39;Test Group&#39;);
  
$this->fb->log(&#39;Hello World&#39;);
  
$this->fb->groupEnd();
}
?>


原文:好用 Debug PHP 工具 FirePHP for FireFox on CodeIgniter

歡迎來到 CodeIgniter 繁體中文討論區
My Blog:小惡魔 - 電腦技術 - 生活日記 - 美食介紹 - AppleBOY