dpm()和dsm()之间有什么区别?

时间:2010-10-28 20:28:07

标签: drupal

dpm()dsm()之间有什么区别?

5 个答案:

答案 0 :(得分:34)

dpm()使用drupal_set_message()将变量打印到页面的“message”区域。输出和紧凑,不太可能破坏页面的布局。

来自devel docs:

  

devel模块的注释:dsm()是   遗留功能很差   命名;使用dpm()代替,因为   'p'映射到'print_r'。

我认为我们应该相信那个人的发展。

答案 1 :(得分:6)

dsm()是遗留功能。这是对dpm()的调用,因此您应该使用dpm()

答案 2 :(得分:3)

drupal_set_message()是一个Drupal核心函数,用于设置要在下一页视图上输出的消息。我相信drupal_print_message()(基于我在Google中找到的示例),当人们真正意味着drupal_set_message()而不是真正的功能时,偶尔会偶然说出一些事情。

注意:dpm()模块中有一个Devel函数,它是“drupal print message”的缩写,用于输出开发调试的变量。

答案 3 :(得分:3)

他们都是一样的,检查dsm()的定义方式(一个是另一个):

function dsm($input, $name = NULL) {
  return dpm($input, $name);
}

所以应该使用的主要版本是dpm(),因为dsm()已被弃用。

答案 4 :(得分:0)

Devel Demo是一个很好的drupal模块,演示了devel模块提供的大部分调试功能,而here是一个很好的帖子,简要概述了这些功能。