欢迎各位兄弟 发布技术文章
这里的技术是共享的
Drupal的devel模块提供的两个函数dpm()和dsm()都用于在页面的消息区域打印并调试Drupal变量信息。那么它们有什么不同呢?下面我来介绍一下。
dsm()函数命名的起源
dsm()函数的名字是drupal set message的缩写。由于dsm()函数内部调用了Drupal内核中的drupal_set_message()函数,用于在页面的消息区域执行打印任务。所以顺理成章的起名为dsm()。
发现问题
随后,Drupal开发者们发现了问题:drupal set message所表达的语义含混不清,把打印这个动作用set这个动词进行描述,真的是一件很糟糕的事情。
解决问题
于是Drupal开发者们使用dpm()函数来代替dsm()函数,dpm是drupal print message的缩写,同时dpm中的p也可以解释为print_r。呵呵,真的是两全其美,不是吗?
看看dsm()函数的代码,就一切都明白了。
位于Drupal devel模块devel.module文件中的第1719行。
1 2 3 | function dsm( $input , $name = NULL) { return dpm( $input , $name ); } |
使用原则
建议大家总是使用dpm()函数。因为dsm()函数只是考虑到兼容性因素而保留下来的历史遗留函数,所以就没有必要在新项目中使用它了。
来自 http://mydrupal.org/drupal%E5%BC%80%E5%8F%91%E8%80%85%E6%A8%A1%E5%9D%97devel%E4%B8%AD%E7%9A%84%E5%8F...