进行 Drupal 开发时有许多模块和工具可供使用,其中最常用的两项便是 Devel 及 Drupal for Firebug。本文和《Drupal常用开发工具(二)——Drupal for Firebug》将分别对它们进行介绍。

  与本文相关的很多内容可以通过 Devel Demo 模块进行查看,如有纠正或补充可以在官方问题队列中发帖,也可以在本文后进行留言。

Devel模块

  Devel 集合了多个开发辅助模块,除了作为核心的 Devel 模块外,Devel 模块包中还包含了其它子模块,如 Devel Generate 可用于生成测试内容、术语和用户等。(注意Theme Developer 模块已经从Devel 模块中分离出来成为单独的模块)

  Devel 的子模块并不在本文中进行介绍,如有兴趣可到项目页面阅读相关的说明文档。

dpm()

  使用drupal_set_message() 函数将变量显示在页面的 ‘message’ 区域。使用此函数,可以变量进行跟踪。因为Devel模块现在使用Krumo 对变量进行显示,所以输出结果会变得复杂一些。

dpm($input, $name = NULL);

  如果因为某些原因,你没有使用Krumo,可以使用 $name 参数来对不同的 dpm() 调用进行区分。

dvm()

  使用drupal_set_message() 函数将var_dump() 函数处理变量的结果显示在 ‘message’ 位置。这个函数的输出比基于Krumo 的dpmt() 函数的结果要难读一些,但使用它可以很方便的进行复制粘贴。

dvm($input, $name = NULL);

dpr()

  将变量以易读的格式显示在页面头部(不使用Krumo),对于没有 $message 变量的主题会是一个非常好的选择。

dpr($input, $return = FALSE, $name = NULL);

  将 $return 参数设置为TRUE,则将显示数据以函数结果返回而不进行打印。

dvr()

与dpr() 基本相同,不过输出结果经过 var_dump() 函数得出。

kpr()

类似dpm(),不过是在页面上方显示Krumo形式的输出结果,适用于页面模板中没有 $message 变量的情况。

dargs()

  输出传入当前路由函数的参数值。以下图为例,参数分别为 ‘foo’和’42’。当你不确定Drupal路由函数当前接收到的参数是什么时,可以使用这个函数进行确认。(译注:其实就是将 Drupal 内核 args() 函数的结果显示到页面上)

dargs();

dd()

  将变量记录到临时目录下名为drupal_debug.txt 的记录文件中,此函数的所有输出会追加到记录文件后,以方便开发者跟踪查看变量的变化情况。

  • 如果使用Mac OS X,可以使用Logging Console对记录文件中的内容进行查看。
  • 如果使用Linux,则可以使用 ‘tail –f drupal_debug.txt’ 命令查看被记录的数据。

dd($data, $label = NULL)

ddebug_backtrace()

打印函数调用堆栈

db_queryd()

  此函数是 db_query() 的调试版本,它能将数据库查询结果或错误信息显示到浏览器。当想要监控一些数据库请求信息,但又不希望列出当前页面所进行的所有数据库请求会很有用。

db_queryd($query, $args = array());

原文标题:《Drupal常用开发工具(一)——Devel模块

原文地址:http://drupalct.org/drupal-development/drupal-development-module-devel.html

Drupal常用开发工具(一)——Devel模块的更多相关文章

  1. SharePoint 2013常用开发工具分享

    众所周知,一款好的开发工具不仅能提高项目开发效率,而且能够协助开发人员简化开发流程.本文汇总几款SharePoint 2013开发常用开发工具,希望能够对大家有所帮助.如果您有更好的工具,没有包含在本 ...

  2. SharePoint 2013常用开发工具

    SharePoint 2013常用开发工具分享 2014-04-01 00:59 by jv9, 589 阅读, 1 评论, 收藏, 编辑 众所周知,一款好的开发工具不仅能提高项目开发效率,而且能够协 ...

  3. .Net 常用开发工具

    ,net常用开发工具 LinqPad使用 LinqPad连接Oracle 使用 LINQPad 将linq转换为 lambda表达式 或者 SQL语句 LINQPad 4 初次使用心得 一.双击 二. ...

  4. Java,面试题,简历,Linux,大数据,常用开发工具类,API文档,电子书,各种思维导图资源,百度网盘资源,BBS论坛系统 ERP管理系统 OA办公自动化管理系统 车辆管理系统 各种后台管理系统

    Java,面试题,简历,Linux,大数据,常用开发工具类,API文档,电子书,各种思维导图资源,百度网盘资源BBS论坛系统 ERP管理系统 OA办公自动化管理系统 车辆管理系统 家庭理财系统 各种后 ...

  5. Android 常用开发工具以及Mac常用软件

    Android 常用的开发工具记录.其中包括AndroidStudio(IDEA)插件.Mac 上好用的软件以及国内知名Android开发者博客等. Android Studio 插件 codota ...

  6. JAVA程序员常用开发工具

    1.JDK (Java Development Kit)Java开发工具集 SUN的Java不仅提了一个丰富的语言和运行环境,而且还提了一个免费的Java开发工具集(JDK).开发人员和最终用户可以利 ...

  7. .NET常用开发工具整理

    版本控制和项目管理工具 VisualSVN和AnkhSVN:两款在Visual Studio中管理Subversion的插件.. NuGet和NuGetPackageExplorer:一组用于自动执行 ...

  8. 07-java学习-方法重载-idea集成开发工具学习-项目-模块-包

    方法重载的概念? 方法重载的好处? 集成开发工具idea的学习 下载 安装 设置 建项目 导入项目 建模块 导入模块 建包 复制粘贴包 建类 复制粘贴类 运行 调试

  9. web常用开发工具

    1.WebStorm[推荐] WebStorm 是jetbrains公司旗下一款JavaScript 开发工具.目前已经被广大中国JS开发者誉为"Web前端开发神器"." ...

随机推荐

  1. runliuv, 安卓查看WIFI密码

    用RE查看data/misc/wifi/wpa_supplicant.conf或者其他文件名以.conf结尾的文件

  2. SSH_框架整合2—查询显示

    4. 完成功能. (1)com.atguigu.ssh.actions包下新建EmployeeAction.java package com.atguigu.ssh.actions; import j ...

  3. android学习笔记45——android的数据存储和IO

    android的数据存储和IO SharedPreferences与Editor简介 SharedPreferences保存的数据主要是类似于配置信息格式的数据,因此其保存的数据主要是简单的类型的ke ...

  4. ASP.NET内置对象详解

    ASP.NET的内置对象介绍 1.Response 2.Request 3.Server 4.Application 5.Session 6.Cookie Request对象主要是让服务器取得客户端浏 ...

  5. SOA_环境安装系列1_Oracle SOA Suite11g安装总括(案例)

    2015-01-01 Created By BaoXinjian

  6. hdu 1536 S-Nim(sg函数模板)

    转载自:http://blog.csdn.net/sr_19930829/article/details/23446173 解题思路: 这个题折腾了两三天,参考了两个模板,在这之间折腾过来折腾过去,终 ...

  7. python3-cookbook

    http://python3-cookbook.readthedocs.io/zh_CN/latest/index.html 一般的类找方法,通过MRO找到第一个就停了对吧,可以描述器好像会顺着MRO ...

  8. centos6.5安装mysql记录

    1.查看操作系统相关信息. [root@linuxidc ~]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m [root@ ...

  9. 解决xcode打开时loading假死的问题

    症状如下: 点击打开xcode后,就一直会看到loading,但是CPU消耗很高,基本上就是死了(动弹不得),通过活动监测器看到xcode显示为“未响应” 以为是安装程序的问题,结果选中xcode拉到 ...

  10. http 303 307 302 状态码理解

    最近在看 <<the rails4 way>> 书中提到了这几个状态码,网上搜到几篇文章 http://www.cnblogs.com/cswuyg/p/3871976.htm ...