进行 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. 读书笔记:Sheldon Ross:概率论基础教程:随机变量

    例1b 一个坛子里装有编号1-20的球,无放回抽取3个,取出球中至少一个号码大于等于17的概率是多少? 除了书上的解法外,还有一种解法: 考虑相反的情况:三个球的号码都小于17. 第一次从编号1-16 ...

  2. Python列表,元组,字典,序列,引用

    1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...

  3. ios8 ios7 tableview cell 分割线左对齐

    ios8中左对齐代码 //加入如下代码 -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cel ...

  4. MVC 安装

    mvc 4 支持window xp,window 7,window 8, mvc 4 支持vs2010,vs2012 vs2012中包含mvc4; vs2010中需要安装mvc4 安装包:

  5. java.lang.ClassNotFoundException: org.eclipse.jetty.plus.webapp.EnvConfiguration

    最近刚接触jetty,在myeclipse8.6中加入了一个项目,运行时就出了这个java.lang.ClassNotFoundException: org.eclipse.jetty.plus.we ...

  6. Spring初理解

    spring配置文件是一个xml格式的文件,类似如下: <beas> <bean id= 'a' class = '包名.类名'></bean> <bean ...

  7. SQL语言的三个分类:DDL、DML、DCL

    DML:数据操纵语言,主要是完成数据的新增,修改,删除和查询的操作. DDL:数据定义语言,主要是用来创建或修改表.视图.存储过程以及用户等. DCL:数据控制语言,是用来设置或更改数据库用户或角色权 ...

  8. Spark1.6 DataSets简介

    Apache Spark提供了强大的API,以便使开发者为使用复杂的分析成为了可能.通过引入SparkSQL,让开发者可以使用这些高级API接口来从事结构化数据的工作(例如数据库表,JSON文件),并 ...

  9. linux下sublime配置c++11编译环境

    Tools->Build System->New Build System { "cmd": ["g++", "-std=c++11&qu ...

  10. 设置session的生存时间

    1.最有效的方法 修改php.ini中  #session的超时时间 session.gc_maxlifetime = 1440  2.通过php去修改这个值 $Lifetime = 3600; $S ...