请选择 进入手机版 | 继续访问电脑版

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 8266|回复: 0

[开发指南] dump函数(输出变量调试)

[复制链接]
发表于 2012-8-5 11:01:53 | 显示全部楼层 |阅读模式

在日常的编程开发当中,开发者经常会使用到对变量的调试,而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来调试变量,可能会很轻易就能解决问题了。

您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

手机浏览|简版|中文PHP框架|开源协议|SpeedPHP.com ( 粤ICP备08008671号

GMT+8, 2020-4-9 21:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表