欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

使用Devel模块的API函数dpm()调试Drupal变量

shiping1 的头像

使用Devel模块的API函数dpm()调试Drupal变量

作者:老梁 日期:2012年7月17日

Drupal Devel模块 API函数 dpm()

dpm()函数综述:

dpm()函数是由Drupal的Devel模块提供的一个API,用于调试Drupal变量。当dpm()函数被调用时,使用drupal_set_message()函数在Drupal页面的message区域打印变量。

dpm()函数的原形:

1
dpm($input, $name = NULL, $type = 'status')

dpm()函数的参数:

$input:必需,要打印输出的变量。

$name:可选,确定输出的名字。

$type:可选,为drupal_set_message()函数设定message类型,默认值为“status”。

dpm()函数的处理流程:

在dpm()函数被调用之后,首先判断用户是否拥有access devel information权限。如果拥有该权限,则将$input和$name参数通过另一个Drupal API函数kprint_r进行处理,并将处理的结果和$type参数一起交给drupal_set_message函数进行再次处理。最后返 回$input。

dpm()函数的源代码

代码位于Drupal Devel模块的devel.module文件中第1689行。

1
2
3
4
5
6
7
function dpm($input, $name = NULL, $type = 'status') {
  if (user_access('access devel information')) {
    $export = kprint_r($input, TRUE, $name);
    drupal_set_message($export, $type);
  }
  return $input;
}

dpm()函数使用范例

本例在Drupal mytheme主题的template.php文件中的mytheme_preprocess_block主题预处理函数中调用dpm()函数。

1
2
3
function mytheme_preprocess_block(&$variables) {
  dpm($variables);
}
来自 http://mydrupal.org/%E4%BD%BF%E7%94%A8devel%E6%A8%A1%E5%9D%97%E7%9A%84api%E5%87%BD%E6%95%B0dpm%E8%B0...
普通分类: