包 | system.utils |
---|---|
继承 | class CVarDumper |
源自 | 1.0 |
版本 | $Id: CVarDumper.php 2799 2011-01-01 19:31:13Z qiang.xue $ |
源码 |
CVarDumper旨在替换简陋的PHP函数var_dump和print_r。
它可以在复杂的对象结构中正确地识别递归对象。
它同时具备递归深度控制,以避免一些古怪的变量导致地
无限递归显示的问题。
CVarDumper可以象下面这样使用:
CVarDumper可以象下面这样使用:
CVarDumper::dump($var);
公共方法
方法 | 描述 | 定义在 |
---|---|---|
dump() | 显示一个变量。 | CVarDumper |
dumpAsString() | 将一个变量显示的结果存储在字符串中返回。 | CVarDumper |
方法详细
dump()
方法
public static void dump(mixed $var, integer $depth=10, boolean $highlight=false)
| ||
$var | mixed | 需要显示的变量 |
$depth | integer | 解析器处理一个变量的最大深度。默认值是10。 |
$highlight | boolean | 结果是否进行高亮格式化 |
public static function dump($var,$depth=10,$highlight=false)
{
echo self::dumpAsString($var,$depth,$highlight);
}
显示一个变量。 此方法完成的功能与var_dump和print_r类似, 但是它在处理类似于Yii控制器这样的复杂对象时更加的健壮可靠。
dumpAsString()
方法
public static string dumpAsString(mixed $var, integer $depth=10, boolean $highlight=false)
| ||
$var | mixed | 需要显示的变量 |
$depth | integer | 解析器处理一个变量的最大深度。默认值是10。 |
$highlight | boolean | 结果是否进行高亮格式化 |
{return} | string | 存储了变量的显示结果的字符串 |
public static function dumpAsString($var,$depth=10,$highlight=false)
{
self::$_output='';
self::$_objects=array();
self::$_depth=$depth;
self::dumpInternal($var,0);
if($highlight)
{
$result=highlight_string("<?php\n".self::$_output,true);
self::$_output=preg_replace('/<\\?php<br \\/>/','',$result,1);
}
return self::$_output;
}
将一个变量显示的结果存储在字符串中返回。 此方法完成的功能与var_dump和print_r类似, 但是它在处理类似于Yii控制器这样的复杂对象时更加的健壮可靠。