除了Trace调试之外,系统还提供了\think\Debug类用于各种调试。

输出某个变量是开发过程中经常会用到的调试方法,除了使用php内置的var_dumpprint_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) ""}

并中止执行后续的程序。


 小秋同学  错误和调试  2021-03-24 08:25:38    收藏( id="ey_cnum_1606379494_1492" )  赞(717)
学习吧_一个不错的学习网站
本文地址:https://www.qiuhai.com/doc/1492.html 复制链接 如果还有疑问,欢迎加入我们的QQ交流群:887790 加入Q群 易优最新程序下载: 点击下载
QQ在线咨询