进行 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. UI设计的重要性--避免二义性的输入提示

    昨天晚上发现了西安公路客运网上售票系统网站的密码找回系统存在安全漏洞,得出的结论是:密码找回页的漏洞:   1.用户名栏支持用户名.身份证.电话三种任意一种匹配.2.这一步是关键,密码找回问题提示栏居 ...

  2. javascript中的变量、执行环境、作用域

  3. excel的常用公式

    1,合并单元格 例子 B1="delete from table where id='"&A1&"';" 注意最好单元格为文本格式 1,去重复列 ...

  4. 报错:java.lang.IllegalStateException: Cannot call sendError() after the response has been committed(待解答)

    严重: Servlet.service() for servlet [default] in context with path [/20161101-struts2-1] threw excepti ...

  5. C#生成二维码示例

    其实现在二维码越来越流行,网上也有很多生成二维码的类库.写一下WEB生成二维码注意事项吧! 目前C#生成二维码大部分都是使用ThoughtWorks.QRCode或者ZXing类库生成,主要说一下Th ...

  6. [linux basic 基础]----同步互斥量

    互斥量,运行程序元锁住某个对象,使得每次只能有一个线程访问它:为了控制对关键代码的访问,必须在进入这段代码之前锁住一个互斥量,然后在完成操作之后解锁它 :基本函数与用于信号量的函数非常相似#inclu ...

  7. activiti自定义流程之自定义表单(一):环境配置

    先补充说一下自定义流程整个的思路,自定义流程的目的就是为了让一套代码解决多种业务流程,比如请假单.报销单.采购单.协作单等等,用户自己来设计流程图. 这里要涉及到这样几个基本问题,一是不同的业务需求, ...

  8. angularjs中ng-route和ui-router简单用法的代码比较

    1.使用ng-route: app.js中的写法: var app=angular.module('birthdayApp',['ngRoute']); app.config(function($ro ...

  9. sql中count(*)和count(字段名)区别

    数据测试:见图 sql 语句见分晓: SELECT COUNT(*) c1 ,COUNT(ADDRESS) c2 FROM test 显而易见,count(*)统计的是结果集的总条数,count(字段 ...

  10. BIP_开发案例03_将原有Report Builer报表全部转为XML Publisher形式(案例)

    2014-05-31 Created By BaoXinjian