变量调试
除了Trace调试之外,系统还提供了\think\Debug
类用于各种调试。
输出某个变量是开发过程中经常会用到的调试方法,除了使用php内置的var_dump
和print_r
之外,ThinkPHP框架内置了一个对浏览器友好的dump
方法,用于输出变量的信息到浏览器查看。
用法:
Debug::dump($var, $echo=true, $label=null) 或者 dump($var, $echo=true, $label=null)
相关参数的使用如下:
参数 | 描述 |
---|---|
var(必须) | 要输出的变量,支持所有变量类型 |
echo(可选) | 是否直接输出,默认为true,如果为false则返回但不输出 |
label(可选) | 变量输出的label标识,默认为空 |
如果echo参数为false 则返回要输出的字符串
使用示例:
$blog
=
Db:
:name('blog')->where('id',
3)->find();
Debug:
:dump($blog);
//
下面的用法是等效的 dump($blog);
在浏览器输出的结果是:
array(12) { ["id"] =>
string(1)
"3"
["name"] =>
string(0)
""
["user_id"] =>
string(1)
"0"
["cate_id"] =>
string(1)
"0"
["title"] =>
string(4)
"test"
["content"] =>
string(4)
"test"
["create_time"] =>
string(1)
"0"
["update_time"] =>
string(1)
"0"
["status"] =>
string(1)
"0"
["read_count"] =>
string(1)
"0"
["comment_count"] =>
string(1)
"0"
["tags"] =>
string(0)
""
}
如果需要在调试变量输出后中止程序的执行,可以使用halt
函数,例如:
$blog = Db::name
('blog')->where
('id',
3)->find(); halt($blog); echo
'这里的信息是看不到的';
执行后会输出
array(12) { ["id"] =>
string(1)
"3"
["name"] =>
string(0)
""
["user_id"] =>
string(1)
"0"
["cate_id"] =>
string(1)
"0"
["title"] =>
string(4)
"test"
["content"] =>
string(4)
"test"
["create_time"] =>
string(1)
"0"
["update_time"] =>
string(1)
"0"
["status"] =>
string(1)
"0"
["read_count"] =>
string(1)
"0"
["comment_count"] =>
string(1)
"0"
["tags"] =>
string(0)
""
}
并中止执行后续的程序。
文档最后更新时间:2018-04-26 10:42:57
未解决你的问题?请到「问答社区」反馈你遇到的问题