[译]4个Drupal开发必备的工具

Drupal网站开发是非常具有挑战性的。这不是别人,恰恰是Drupal开发者自己说的。一些使用其他PHP框架和应用的同行甚至觉得Drupal过于笨重,以至于难以理解。Drupal是被一群热爱它的人组成的大型社区培育出来的产物,包括我自己(指作者本人)。但是说实话,你用Drupal用的越多,你就会对Drupal开发的各种特点和难点产生越多的爱恨情绪。

但是,有一件事情是肯定的,并且对Web开发的其他领域也适用,那就是工作当中使用的工具会极大地影响你的工作体验,当然,Drupal也不例外。我的意思是,还记得当年我们用Notepad写PHP程序,结果因为少了一个分号而调试了2个小时的事情么?

在这篇文章当中,我想跟大家分享4个我在Drupal开发中使用的4个工具,我重度地依赖它们减少我的困扰,提高生产力,缩短开发时间。并且我也能保证,如果你正在从事真正的Drupal开发,而你又没用过这些工具,你一定错过了对你来说很重要的东西。如果你用过,那一定要分享一下你的经验,告诉别人他们的强大之处。

因此,才有了这篇文章,我会按照复杂度的顺序跟大家介绍,每个都只有几句话,不会包括他们所有的特性,因为在我告诉你他们能做什么以后,该轮到你去自己探索了。

Devel和Search Krumo模块

Devel模块是最常用的开发者模块,用来帮助调试,生成内容等各种各样的开发任务。Search Krumo模块是Devel模块的一个插件,用来帮助检索大的数组结构,你懂的,在Drupal7,到处都是大数组。

这些模块可能是Drupal调试变量的第一解决方案,使用Devel的dsm(), dpm(), krumo()等函数,可以在你的代码中打印数组,对象等任意你需要在运行时作用域中需要了解的东西。并且这不是唯一能做的事情。

Devel模块另一个非常棒的用法是内容生成器,其有一些子模块可以生成节点,术语,用户等等。因为有时你需要网站有500个节点用来测试一些东西。此外你还可以在网站里执行PHP代码,在用户之间切换也是另一个很好的功能。因此,Devel模块是任何Drupal开发环境中的必备模块。

Drush

Drush对Drupal来说是一个非常优秀的命令行工具,可以提升我们的效率。一些人称Drush是Drupal的瑞士军刀,你真的很难否认这一点。

Drush允许你从命令行执行许多Drupal任务。例如,你可以下载,并启用/禁用/卸载/更新模块和Drupal核心以及其他各种个样的任务。这个核心命令列表可以给你一个Drush能做什么的概览。如果你需要一些安装Drush的帮助,可以看看我写的一篇文章

除了核心内置的命令,Drush的另一个优点是你可以定义自己的命令。这样,你就可以在命令行执行一些自定义的任务。这将帮助你做一些维护,甚至是一些需要定期执行的业务相关的任务。因此,Drush实在算得上是多才多艺了。

一个像PHPStorm一样好的IDE(集成开发环境)

我之前提到过,很久以前Notepad是开发者不得不使用的编辑器,但是现在我们不用再忍受它了,因为我们可以使用各种各样的IDE用来编码,我自己用的是PHPStorm,很有帮助。

一个IDE可以通过在项目中避免语法错误,代码语法高亮,代码提示提高你的开发效率。在Drupal中,这些很重要。因为Drupal7中你需要的许多函数和参数都是写在程序中的。PHPStorm极大的减少了你在网上研究这些API的时间,更不用说其可以和Drupal集成,你可以自己创建这些API文档资源。

IDE另一个好处(对我来说最重要的一点)是调试,在本地用PHPStorm整合XDebug真的改变了一些事情,在下文中会提到。

Xdebug

类似的Devel模块是用来在屏幕上打印变量等调试信息的。这在调试理念上与Xdebug完全不同。安装好以后,你需要做的就是在程序中放置一个断点,假如程序能执行到这个断点的话,就会在断点停下来,从而你就能访问程序执行到断点时的上下文信息。你可以知道全局和局部变量都有哪些,以及一个调用堆栈可以看出程序的执行轨迹。

另一个特性是你可以线性的或跳入跳出调用的函数,即进行单步调试,这可以用来调试程序的失败点以及在哪抛出的异常。因此极力推荐你也试试。

结论

现在,你已经知道了从今以后使你的开发更有效率的4个工具,使用Drush和Devel模块是仅仅适用于Drupal的,但是使用IDE和XDebug则对所有的PHP项目都适用。并且我可以保证他们都值得一用。

作者:Daniel Sipos
译者:理查