#18291085 FirePHP 버전 업데이트

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@6797 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
misol 2009-09-19 16:25:15 +00:00
parent 44850af83c
commit 70baa780e5
7 changed files with 1974 additions and 1434 deletions

View file

@ -103,7 +103,7 @@
/**
* @brief Firebug 콘솔 출력 사용시 관련 파일 require
**/
if((__DEBUG_OUTPUT__ == 2) && version_compare(PHP_VERSION, '5.2.0', '>=')) {
if((__DEBUG_OUTPUT__ == 2) && version_compare(PHP_VERSION, '6.0.0') === -1) {
require _XE_PATH_.'libs/FirePHPCore/FirePHP.class.php';
}

110
libs/FirePHPCore/CHANGELOG Normal file
View file

@ -0,0 +1,110 @@
2008-06-14 - Release Version: 0.3.1
- (Issue 108) ignore class name case in object filter
2009-05-11 - Release Version: 0.3
2009-05-01 - Release Version: 0.3.rc.1
- (Issue 90) PHP4 compatible version of FirePHPCore
- (Issue 98) Thrown exceptions don't send an HTTP 500 if the FirePHP exception handler is enabled
- (Issue 85) Support associative arrays in encodeTable method in FirePHP.class.php
- (Issue 66) Add a new getOptions() public method in API
- (Issue 82) Define $this->options outside of __construct
- (Issue 72) Message error if group name is null
- (Issue 68) registerErrorHandler() and registerExceptionHandler() should returns previous handlers defined
- (Issue 69) Add the missing register handler in the triumvirate (error, exception, assert)
- (Issue 75) [Error & Exception Handling] Option to not exit script execution
- (Issue 83) Exception handler can't throw exceptions
- (Issue 80) Auto/Pre collapsing groups AND Custom group row colors
2008-11-09 - Release Version: 0.2.1
- (Issue 70) Problem when logging resources
2008-10-21 - Release Version: 0.2.0
- Updated version to 0.2.0
- Switched to using __sleep instead of __wakeup
- Added support to exclude object members when encoding
- Add support to enable/disable logging
2008-10-17 - Release Version: 0.2.b.8
- New implementation for is_utf8()
- (Issue 55) maxObjectDepth Option not working correctly when using TABLE and EXCEPTION Type
- Bugfix for max[Object|Array]Depth when encoding nested array/object graphs
- Bugfix for FB::setOptions()
2008-10-16 - Release Version: 0.2.b.7
- (Issue 45) Truncate dump when string have non utf8 cars
- (Issue 52) logging will not work when firephp object gets stored in the session.
2008-10-16 - Release Version: 0.2.b.6
- (Issue 37) Display file and line information for each log message
- (Issue 51) Limit output of object graphs
- Bugfix for encoding object members set to NULL|false|''
2008-10-14 - Release Version: 0.2.b.5
- Updated JsonStream wildfire protocol to be more robust
- (Issue 33) PHP error notices running demos
- (Issue 48) Warning: ReflectionProperty::getValue() expects exactly 1 parameter, 0 given
2008-10-08 - Release Version: 0.2.b.4
- Bugfix for logging objects with recursion
2008-10-08 - Release Version: 0.2.b.3
- (Issue 43) Notice message in 0.2b2
- Added support for PHP's native json_encode() if available
- Revised object encoder to detect object recursion
2008-10-07 - Release Version: 0.2.b.2
- (Issue 28) Need solution for logging private and protected object variables
- Added trace() and table() aliases in FirePHP class
- (Issue 41) Use PHP doc in FirePHP
- (Issue 39) Static logging method for object oriented API
2008-10-01 - Release Version: 0.2.b.1
- Added support for error and exception handling
- Updated min PHP version for PEAR package to 5.2
- Added version constant for library
- Gave server library it's own wildfire plugin namespace
- Migrated communication protocol to Wildfire JsonStream
- Added support for console groups using "group" and "groupEnd"
- Added support for log, info, warn and error logging aliases
- (Issue 29) problem with TRACE when using with error_handler
- (Issue 33) PHP error notices running demos
- (Issue 12) undefined index php notice
- Removed closing ?> php tags
- (Issue 13) the code in the fb() function has a second return statement that will never be reached
2008-07-30 - Release Version: 0.1.1.3
- Include __className property in JSON string if variable was an object
- Bugfix - Mis-spelt "Exception" in JSON encoding code
2008-06-13 - Release Version: 0.1.1.1
- Bugfix - Standardize windows paths in stack traces
- Bugfix - Display correct stack trace info in windows environments
- Bugfix - Check $_SERVER['HTTP_USER_AGENT'] before returning
2008-06-13 - Release Version: 0.1.1
- Added support for FirePHP::TRACE log style
- Changed license to New BSD License
2008-06-06 - Release Version: 0.0.2
- Bugfix - Added usleep() to header writing loop to ensure unique index
- Bugfix - Ensure chunk_split does not generate trailing "\n" with empty data header
- Added support for FirePHP::TABLE log style

12
libs/FirePHPCore/CREDITS Normal file
View file

@ -0,0 +1,12 @@
_______________________________
F i r e P H P C o r e
Current Development
-------------------
Christoph Dorn <christoph@christophdorn.com>
Michael Day <manveru.alma@gmail.com>
If you've done work on FirePHPCore and you are not listed here,
please feel free to add yourself.

View file

@ -6,7 +6,7 @@
*
* Software License Agreement (New BSD License)
*
* Copyright (c) 2006-2008, Christoph Dorn
* Copyright (c) 2006-2009, Christoph Dorn
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
@ -36,7 +36,7 @@
*
* ***** END LICENSE BLOCK *****
*
* @copyright Copyright (C) 2007-2008 Christoph Dorn
* @copyright Copyright (C) 2007-2009 Christoph Dorn
* @author Christoph Dorn <christoph@christophdorn.com>
* @license http://www.opensource.org/licenses/bsd-license.php
* @package FirePHP
@ -50,7 +50,7 @@
*
* For more information see: http://www.firephp.org/
*
* @copyright Copyright (C) 2007-2008 Christoph Dorn
* @copyright Copyright (C) 2007-2009 Christoph Dorn
* @author Christoph Dorn <christoph@christophdorn.com>
* @license http://www.opensource.org/licenses/bsd-license.php
* @package FirePHP
@ -62,7 +62,7 @@ class FirePHP {
*
* @var string
*/
const VERSION = '0.2.1';
const VERSION = '0.3';
/**
* Firebug LOG level
@ -151,6 +151,34 @@ class FirePHP {
*/
protected static $instance = null;
/**
* Flag whether we are logging from within the exception handler
*
* @var boolean
*/
protected $inExceptionHandler = false;
/**
* Flag whether to throw PHP errors that have been converted to ErrorExceptions
*
* @var boolean
*/
protected $throwErrorExceptions = true;
/**
* Flag whether to convert PHP assertion errors to Exceptions
*
* @var boolean
*/
protected $convertAssertionErrorsToExceptions = true;
/**
* Flag whether to throw PHP assertion errors that have been converted to Exceptions
*
* @var boolean
*/
protected $throwAssertionExceptions = false;
/**
* Wildfire protocol message index
*
@ -163,7 +191,10 @@ class FirePHP {
*
* @var array
*/
protected $options = array();
protected $options = array('maxObjectDepth' => 10,
'maxArrayDepth' => 20,
'useNativeJsonEncode' => true,
'includeLineNumbers' => true);
/**
* Filters used to exclude object members when encoding
@ -190,10 +221,6 @@ class FirePHP {
* The object constructor
*/
function __construct() {
$this->options['maxObjectDepth'] = 10;
$this->options['maxArrayDepth'] = 20;
$this->options['useNativeJsonEncode'] = true;
$this->options['includeLineNumbers'] = true;
}
/**
@ -252,11 +279,11 @@ class FirePHP {
* Filters are used to exclude object members.
*
* @param string $Class The class name of the object
* @param array $Filter An array or members to exclude
* @param array $Filter An array of members to exclude
* @return void
*/
public function setObjectFilter($Class, $Filter) {
$this->objectFilters[$Class] = $Filter;
$this->objectFilters[strtolower($Class)] = $Filter;
}
/**
@ -275,19 +302,32 @@ class FirePHP {
$this->options = array_merge($this->options,$Options);
}
/**
* Get options from the library
*
* @return array The currently set options
*/
public function getOptions() {
return $this->options;
}
/**
* Register FirePHP as your error handler
*
* Will throw exceptions for each php error.
*
* @return mixed Returns a string containing the previously defined error handler (if any)
*/
public function registerErrorHandler()
public function registerErrorHandler($throwErrorExceptions=true)
{
//NOTE: The following errors will not be caught by this error handler:
// E_ERROR, E_PARSE, E_CORE_ERROR,
// E_CORE_WARNING, E_COMPILE_ERROR,
// E_COMPILE_WARNING, E_STRICT
set_error_handler(array($this,'errorHandler'));
$this->throwErrorExceptions = $throwErrorExceptions;
return set_error_handler(array($this,'errorHandler'));
}
/**
@ -309,16 +349,26 @@ class FirePHP {
}
// Only throw exceptions for errors we are asking for
if (error_reporting() & $errno) {
throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
$exception = new ErrorException($errstr, 0, $errno, $errfile, $errline);
if($this->throwErrorExceptions) {
throw $exception;
} else {
$this->fb($exception);
}
}
}
/**
* Register FirePHP as your exception handler
*
* @return mixed Returns the name of the previously defined exception handler,
* or NULL on error.
* If no previous handler was defined, NULL is also returned.
*/
public function registerExceptionHandler()
{
set_exception_handler(array($this,'exceptionHandler'));
return set_exception_handler(array($this,'exceptionHandler'));
}
/**
@ -330,7 +380,62 @@ class FirePHP {
* @throws Exception
*/
function exceptionHandler($Exception) {
$this->inExceptionHandler = true;
header('HTTP/1.1 500 Internal Server Error');
$this->fb($Exception);
$this->inExceptionHandler = false;
}
/**
* Register FirePHP driver as your assert callback
*
* @param boolean $convertAssertionErrorsToExceptions
* @param boolean $throwAssertionExceptions
* @return mixed Returns the original setting or FALSE on errors
*/
public function registerAssertionHandler($convertAssertionErrorsToExceptions=true, $throwAssertionExceptions=false)
{
$this->convertAssertionErrorsToExceptions = $convertAssertionErrorsToExceptions;
$this->throwAssertionExceptions = $throwAssertionExceptions;
if($throwAssertionExceptions && !$convertAssertionErrorsToExceptions) {
throw $this->newException('Cannot throw assertion exceptions as assertion errors are not being converted to exceptions!');
}
return assert_options(ASSERT_CALLBACK, array($this, 'assertionHandler'));
}
/**
* FirePHP's assertion handler
*
* Logs all assertions to your firebug console and then stops the script.
*
* @param string $file File source of assertion
* @param int $line Line source of assertion
* @param mixed $code Assertion code
*/
public function assertionHandler($file, $line, $code)
{
if($this->convertAssertionErrorsToExceptions) {
$exception = new ErrorException('Assertion Failed - Code[ '.$code.' ]', 0, null, $file, $line);
if($this->throwAssertionExceptions) {
throw $exception;
} else {
$this->fb($exception);
}
} else {
$this->fb($code, 'Assertion Failed', FirePHP::ERROR, array('File'=>$file,'Line'=>$line));
}
}
/**
@ -354,14 +459,33 @@ class FirePHP {
}
/**
* Start a group for following messages
* Start a group for following messages.
*
* Options:
* Collapsed: [true|false]
* Color: [#RRGGBB|ColorName]
*
* @param string $Name
* @param array $Options OPTIONAL Instructions on how to log the group
* @return true
* @throws Exception
*/
public function group($Name) {
return $this->fb(null, $Name, FirePHP::GROUP_START);
public function group($Name, $Options=null) {
if(!$Name) {
throw $this->newException('You must specify a label for the group!');
}
if($Options) {
if(!is_array($Options)) {
throw $this->newException('Options must be defined as an array!');
}
if(array_key_exists('Collapsed', $Options)) {
$Options['Collapsed'] = ($Options['Collapsed'])?'true':'false';
}
}
return $this->fb(null, $Name, FirePHP::GROUP_START, $Options);
}
/**
@ -493,11 +617,18 @@ class FirePHP {
}
if (headers_sent($filename, $linenum)) {
// If we are logging from within the exception handler we cannot throw another exception
if($this->inExceptionHandler) {
// Simply echo the error out to the page
echo '<div style="border: 2px solid red; font-family: Arial; font-size: 12px; background-color: lightgray; padding: 5px;"><span style="color: red; font-weight: bold;">FirePHP ERROR:</span> Headers already sent in <b>'.$filename.'</b> on line <b>'.$linenum.'</b>. Cannot send log data to FirePHP. You must have Output Buffering enabled via ob_start() or output_buffering ini directive.</div>';
} else {
throw $this->newException('Headers already sent in '.$filename.' on line '.$linenum.'. Cannot send log data to FirePHP. You must have Output Buffering enabled via ob_start() or output_buffering ini directive.');
}
}
$Type = null;
$Label = null;
$Options = array();
if(func_num_args()==1) {
} else
@ -523,6 +654,11 @@ class FirePHP {
if(func_num_args()==3) {
$Type = func_get_arg(2);
$Label = func_get_arg(1);
} else
if(func_num_args()==4) {
$Type = func_get_arg(2);
$Label = func_get_arg(1);
$Options = func_get_arg(3);
} else {
throw $this->newException('Wrong number of arguments to fb() function!');
}
@ -629,6 +765,13 @@ class FirePHP {
$skipFinalObjectEncode = true;
} else
if($Type==self::GROUP_START) {
if(!$Label) {
throw $this->newException('You must specify a label for the group!');
}
} else {
if($Type===null) {
$Type = self::LOG;
@ -685,14 +828,15 @@ class FirePHP {
if($Type==self::DUMP) {
$msg = '{"'.$Label.'":'.$this->jsonEncode($Object, $skipFinalObjectEncode).'}';
} else {
$msg_meta = array('Type'=>$Type);
$msg_meta = $Options;
$msg_meta['Type'] = $Type;
if($Label!==null) {
$msg_meta['Label'] = $Label;
}
if(isset($meta['file'])) {
if(isset($meta['file']) && !isset($msg_meta['File'])) {
$msg_meta['File'] = $meta['file'];
}
if(isset($meta['line'])) {
if(isset($meta['line']) && !isset($msg_meta['Line'])) {
$msg_meta['Line'] = $meta['line'];
}
$msg = '['.$this->jsonEncode($msg_meta).','.$this->jsonEncode($Object, $skipFinalObjectEncode).']';
@ -719,7 +863,7 @@ class FirePHP {
$this->messageIndex++;
if ($this->messageIndex > 99999) {
throw new Exception('Maximum number (99,999) of messages reached!');
throw $this->newException('Maximum number (99,999) of messages reached!');
}
}
}
@ -836,15 +980,24 @@ class FirePHP {
* @return array
*/
protected function encodeTable($Table) {
if(!$Table) return $Table;
for( $i=0 ; $i<count($Table) ; $i++ ) {
if(is_array($Table[$i])) {
for( $j=0 ; $j<count($Table[$i]) ; $j++ ) {
$Table[$i][$j] = $this->encodeObject($Table[$i][$j]);
$new_table = array();
foreach($Table as $row) {
if(is_array($row)) {
$new_row = array();
foreach($row as $item) {
$new_row[] = $this->encodeObject($item);
}
$new_table[] = $new_row;
}
}
return $Table;
return $new_table;
}
/**
@ -878,6 +1031,7 @@ class FirePHP {
array_push($this->objectStack, $Object);
$return['__className'] = $class = get_class($Object);
$class_lower = strtolower($class);
$reflectionClass = new ReflectionClass($class);
$properties = array();
@ -905,9 +1059,9 @@ class FirePHP {
$raw_name = "\0".'*'."\0".$raw_name;
}
if(!(isset($this->objectFilters[$class])
&& is_array($this->objectFilters[$class])
&& in_array($raw_name,$this->objectFilters[$class]))) {
if(!(isset($this->objectFilters[$class_lower])
&& is_array($this->objectFilters[$class_lower])
&& in_array($raw_name,$this->objectFilters[$class_lower]))) {
if(array_key_exists($raw_name,$members)
&& !$property->isStatic()) {
@ -944,9 +1098,9 @@ class FirePHP {
if(!isset($properties[$name])) {
$name = 'undeclared:'.$name;
if(!(isset($this->objectFilters[$class])
&& is_array($this->objectFilters[$class])
&& in_array($raw_name,$this->objectFilters[$class]))) {
if(!(isset($this->objectFilters[$class_lower])
&& is_array($this->objectFilters[$class_lower])
&& in_array($raw_name,$this->objectFilters[$class_lower]))) {
$return[$name] = $this->encodeObject($value, $ObjectDepth + 1, 1);
} else {

View file

@ -1,35 +1,6 @@
Software License Agreement (New BSD License)
Copyright (c) 2006-2008, Christoph Dorn
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of Christoph Dorn nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Software License Agreement (New BSD License)
Copyright (c) 2006-2008, Christoph Dorn
Copyright (c) 2006-2009, Christoph Dorn
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,

32
libs/FirePHPCore/README Normal file
View file

@ -0,0 +1,32 @@
Version: 0.3.1
------------------------------------------------------
Requirements
------------------------------------------------------
Client Side:
- Firefox - http://www.getfirefox.com/
- Firebug - http://www.getfirebug.com/
- FirePHP - http://www.firephp.org/
Server Side:
- PHP 5 (complete functionality)
- PHP 4 (most functionality)
------------------------------------------------------
Install Tutorial
------------------------------------------------------
http://www.firephp.org/HQ/Install.htm
------------------------------------------------------
Support
------------------------------------------------------
http://forum.firephp.org/

261
libs/FirePHPCore/fb.php Normal file
View file

@ -0,0 +1,261 @@
<?php
/* ***** BEGIN LICENSE BLOCK *****
*
* This file is part of FirePHP (http://www.firephp.org/).
*
* Software License Agreement (New BSD License)
*
* Copyright (c) 2006-2009, Christoph Dorn
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* * Neither the name of Christoph Dorn nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* ***** END LICENSE BLOCK *****
*
* @copyright Copyright (C) 2007-2009 Christoph Dorn
* @author Christoph Dorn <christoph@christophdorn.com>
* @license http://www.opensource.org/licenses/bsd-license.php
* @package FirePHP
*/
require_once dirname(__FILE__).'/FirePHP.class.php';
/**
* Sends the given data to the FirePHP Firefox Extension.
* The data can be displayed in the Firebug Console or in the
* "Server" request tab.
*
* @see http://www.firephp.org/Wiki/Reference/Fb
* @param mixed $Object
* @return true
* @throws Exception
*/
function fb()
{
$instance = FirePHP::getInstance(true);
$args = func_get_args();
return call_user_func_array(array($instance,'fb'),$args);
}
class FB
{
/**
* Enable and disable logging to Firebug
*
* @see FirePHP->setEnabled()
* @param boolean $Enabled TRUE to enable, FALSE to disable
* @return void
*/
public static function setEnabled($Enabled) {
$instance = FirePHP::getInstance(true);
$instance->setEnabled($Enabled);
}
/**
* Check if logging is enabled
*
* @see FirePHP->getEnabled()
* @return boolean TRUE if enabled
*/
public static function getEnabled() {
$instance = FirePHP::getInstance(true);
return $instance->getEnabled();
}
/**
* Specify a filter to be used when encoding an object
*
* Filters are used to exclude object members.
*
* @see FirePHP->setObjectFilter()
* @param string $Class The class name of the object
* @param array $Filter An array or members to exclude
* @return void
*/
public static function setObjectFilter($Class, $Filter) {
$instance = FirePHP::getInstance(true);
$instance->setObjectFilter($Class, $Filter);
}
/**
* Set some options for the library
*
* @see FirePHP->setOptions()
* @param array $Options The options to be set
* @return void
*/
public static function setOptions($Options) {
$instance = FirePHP::getInstance(true);
$instance->setOptions($Options);
}
/**
* Get options for the library
*
* @see FirePHP->getOptions()
* @return array The options
*/
public static function getOptions() {
$instance = FirePHP::getInstance(true);
return $instance->getOptions();
}
/**
* Log object to firebug
*
* @see http://www.firephp.org/Wiki/Reference/Fb
* @param mixed $Object
* @return true
* @throws Exception
*/
public static function send()
{
$instance = FirePHP::getInstance(true);
$args = func_get_args();
return call_user_func_array(array($instance,'fb'),$args);
}
/**
* Start a group for following messages
*
* Options:
* Collapsed: [true|false]
* Color: [#RRGGBB|ColorName]
*
* @param string $Name
* @param array $Options OPTIONAL Instructions on how to log the group
* @return true
*/
public static function group($Name, $Options=null) {
$instance = FirePHP::getInstance(true);
return $instance->group($Name, $Options);
}
/**
* Ends a group you have started before
*
* @return true
* @throws Exception
*/
public static function groupEnd() {
return self::send(null, null, FirePHP::GROUP_END);
}
/**
* Log object with label to firebug console
*
* @see FirePHP::LOG
* @param mixes $Object
* @param string $Label
* @return true
* @throws Exception
*/
public static function log($Object, $Label=null) {
return self::send($Object, $Label, FirePHP::LOG);
}
/**
* Log object with label to firebug console
*
* @see FirePHP::INFO
* @param mixes $Object
* @param string $Label
* @return true
* @throws Exception
*/
public static function info($Object, $Label=null) {
return self::send($Object, $Label, FirePHP::INFO);
}
/**
* Log object with label to firebug console
*
* @see FirePHP::WARN
* @param mixes $Object
* @param string $Label
* @return true
* @throws Exception
*/
public static function warn($Object, $Label=null) {
return self::send($Object, $Label, FirePHP::WARN);
}
/**
* Log object with label to firebug console
*
* @see FirePHP::ERROR
* @param mixes $Object
* @param string $Label
* @return true
* @throws Exception
*/
public static function error($Object, $Label=null) {
return self::send($Object, $Label, FirePHP::ERROR);
}
/**
* Dumps key and variable to firebug server panel
*
* @see FirePHP::DUMP
* @param string $Key
* @param mixed $Variable
* @return true
* @throws Exception
*/
public static function dump($Key, $Variable) {
return self::send($Variable, $Key, FirePHP::DUMP);
}
/**
* Log a trace in the firebug console
*
* @see FirePHP::TRACE
* @param string $Label
* @return true
* @throws Exception
*/
public static function trace($Label) {
return self::send($Label, FirePHP::TRACE);
}
/**
* Log a table in the firebug console
*
* @see FirePHP::TABLE
* @param string $Label
* @param string $Table
* @return true
* @throws Exception
*/
public static function table($Label, $Table) {
return self::send($Table, $Label, FirePHP::TABLE);
}
}