Current File : //opt/RZphp74/includes/doc/HTML_CSS/examples/css_error_custom.php |
<?php
/**
* Customize error renderer with default PEAR_Error object.
*
* PHP versions 4 and 5
*
* @category HTML
* @package HTML_CSS
* @subpackage Examples
* @author Klaus Guenther <klaus@capitalfocus.org>
* @author Laurent Laville <pear@laurent-laville.org>
* @copyright 2005-2009 Klaus Guenther, Laurent Laville
* @license http://www.opensource.org/licenses/bsd-license.php BSD
* @version CVS: $Id: css_error_custom.php,v 1.9 2009/01/19 23:22:39 farell Exp $
* @link http://pear.php.net/package/HTML_CSS
* @since File available since Release 1.0.0RC1
* @ignore
*/
require_once 'HTML/CSS.php';
require_once 'PEAR.php';
/**
* Determine whether to display or log an error.
*
* @param object $pb_error instance of HTML_CSS_Error
*
* @return void
* @ignore
*/
function myErrorCallback($pb_error)
{
$keys = array('error_message_prefix', 'mode', 'level', 'code', 'message');
foreach ($keys as $i => $k) {
printf("%s = %s <br/>\n", $k, $pb_error->$k);
}
echo '<hr/>';
}
/**
* Replace default internal error handler.
*
* Print rather than dies if the error is an exception.
*
* @param int $code a numeric error code.
* Valid are HTML_CSS_ERROR_* constants
* @param string $level error level ('exception', 'error', 'warning', ...)
*
* @return integer
* @ignore
*/
function myErrorHandler($code, $level)
{
if ($level == 'exception') {
return PEAR_ERROR_PRINT; // rather than PEAR_ERROR_DIE
} else {
return PEAR_ERROR_CALLBACK;
}
}
/**
* Be sure that we will print and log error details.
* @see HTML_CSS_Error::log()
*/
ini_set('display_errors', 1);
ini_set('log_errors', 1);
// Example A. ---------------------------------------------
PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'myErrorCallback');
$css1 = new HTML_CSS();
// A1. Error
$group1 = $css1->createGroup('body, html', 'grp1');
$group2 = $css1->createGroup('p, html', 'grp1');
// Example B. ---------------------------------------------
$displayConfig = array(
'lineFormat' => '<b>%1$s</b>: %2$s<br/>%3$s<hr/>',
'contextFormat' => '<b>File:</b> %1$s <br />'
. '<b>Line:</b> %2$s <br />'
. '<b>Function:</b> %3$s '
);
$prefs = array(
'push_callback' => 'myErrorHandler',
'handler' => array('display' => $displayConfig)
);
$css2 = new HTML_CSS(null, $prefs);
// B1. Error
$css2->getStyle('h1', 'class');
// B2. Exception
$css2->setXhtmlCompliance('true');
print 'still alive !';
?>