+ -
当前位置:首页 → 问答吧 → SpeedPHP框架核心调试工具

SpeedPHP框架核心调试工具

时间:2009-12-17

来源:互联网

在日常的编程开发当中,开发者经常会使用到对变量的调试,而sp框架提供的变量调试输出函数——dump正好满足了变量调试的需求。下面来介绍一下dump函数的使用方法。

dump —— 变量格式化输出函数

用法:

dump($vars, $output = TRUE, $show_trace = FALSE)

参数:

$vars,需要输出的变量,可以是普通变量,也可以是对象等。

$output,是否直接输出,如设置成FALSE,dump将返回输入内容而并不会将信息直接输出到浏览器上。

$show_trace,是否显示程序执行信息,如设置成TRUE,则将显示每一步的程序执行路径。

例子:
复制代码
  1. // 调试一个数组变量及调试lib_guestbook类的对象
  2.     $userObj = spClass('lib_guestbook');
  3.     $args = array(
  4.         'username' => 'jake'
  5.     );
  6.     dump($args); // 格式化输出数组$args
  7.     dump($userObj); // 格式化输出lib_guestbook类的对象$userObj

输出结果:
复制代码
  1. Array
  2. (
  3.     [username] => jake
  4. )
  5. lib_guestbook Object
  6. (
  7.     [pk] => gbid
  8.     [table] => guestbook
  9.     [addrules] => Array
  10.         (
  11.             [youare] => Array
  12.                 (
  13.                     [0] => lib_guestbook
  14.                     [1] => youare
  15.                 )
  16.         )
  17.     [verifier] => Array
  18.         (
  19.             [rules] => Array
  20.                 (
  21.                     [username] => Array
  22.                         (
  23.                             [notnull] => 1
  24.                             [minlength] => 5
  25.                             [maxlength] => 20
  26.                             [equalto] => email
  27.                             [youare] => jake
  28.                         )
  29.                     [email] => Array
  30.                         (
  31.                             [notnull] => 1
  32.                             [email] => 1
  33.                             [minlength] => 10
  34.                             [maxlength] => 20
  35.                         )
  36.                 )
  37.             [messages] => Array
  38.                 (
  39.                     [username] => Array
  40.                         (
  41.                             [notnull] => 姓名不能为空
  42.                             [minlength] => 姓名不能少于5个字符
  43.                             [maxlength] => 姓名不能大于20个字符
  44.                             [equalto] => 怎么不等于电邮呢
  45.                             [youare] => 你不是jake
  46.                         )
  47.                 )
  48.         )
  49.     [linker] =>
  50.     [tbl_name:protected] => spcms_guestbook
  51.     [_db:private] => mysql Object
  52.         (
  53.             [conn:private] => Resource id #20
  54.             [arrSql] => Array
  55.                 (
  56.                     [0] => SET NAMES UTF8
  57.                     [1] => SELECT spcms_article.* FROM spcms_article  ORDER BY artid DESC LIMIT 5
  58.                     [2] => SELECT spcms_article.* FROM spcms_article  ORDER BY artid DESC LIMIT 5
  59.                     [3] => SELECT spcms_article.* FROM spcms_article  ORDER BY counter DESC LIMIT 8
  60.                     [4] => SELECT spcms_article.* FROM spcms_article  ORDER BY counter DESC LIMIT 8
  61.                     [5] => SELECT spcms_acl.* FROM spcms_acl WHERE controller = 'main' AND action = 'download'  limit 1
  62.                 )
  63.         )
  64. )

使用dump追踪程序执行过程中的变量取值,是最常见的测试和编程手段,所以希望大家能善用dump调试函数。在程序出现问题时多些使用dump来调试变量,可能会很轻易就能解决问题了。


本文地址:http://speedphp.com/post/core-functions-dump.html

作者: jake   发布时间: 2009-12-17