Development/Debug

开发/调试

利用pathauto API函数将英文字符串转化成合法别名

0
Vote up!

有时候需要自己写创建节点的逻辑,并且赋予一定规则的别名。

写模块帮助文档的最佳实践

0
Vote up!

大家都知道,Drupal为模块帮助文档提供了几种形式:

调试线上服务器BUG的代码和方法

0
Vote up!

我遇到的情况是同样的页面,在负载均衡的A服务器就是好用的,B服务器就是空白页,B服务器的管理员登录也正常,其他本地,测试环境均正常。这种情况我们没有办法猜出问题出在哪里,所以只能在线上生产服务器上进行调试。

首先,线上调试特别要注意你调试时不要引入语法错误,引起fatal error。

用Drush命令序列快速得到一个中文本地测试环境

0
Vote up!

这个主题的初级版请参考:最简单的重置本地环境的方法

通过执行drush si,我们可以得到了一个新的空的Drupal环境,但为了测试模块,或者实现某些想法,我们仍然需要继续配置一些东西,例如:

Drupal6编程批量创建CCK字段

1
Vote up!

如果是少数的字段,我们直接使用CCK的字段管理后台创建就可以了,但是如果是几十个,上百个字段,我们还人工手动创建么?这种繁琐的工作任何人都不愿意做,更何况是程序猿的我们呢。

这个代码片段来自于工作中的一次内容类型数据结构初始化的任务,有上百个字段要建立,类型也不尽相同,但大体可以分为以下几类。

让dpm只执行一次

0
Vote up!

由于Drupal执行流程的特殊性,当我们使用dpm打印调试信息时,很多时候同一个位置的调试信息会被重复打印,但我们往往只需要看一条就够了,重复打印会造成页面打开缓慢,甚至打不开,同时也会影响我们的调试效率。

通过这个代码片段,我们可以只显示同一个位置dpm调用第一次的打印结果,通过改造这个代码片段,你甚至可以指定范围,或者输出次数统计之类的附加信息。

Drupal实用本地调试函数

0
Vote up!

在Drupal开发中,调试是必不可少的,可以帮助我们找到bug,或者性能优化、或者改善用户体验等等。

Drupal简单粗放的暴力调试方法

9
Vote up!

Drupal由于其hook机制,模块主题机制使得代码的执行路径变得十分复杂,经常处于一个又一个的循环逻辑中,这样调试起来就变得很困难,甚至即使看到报错信息也不能轻易的猜出究竟是哪里出了问题,有人会建议使用XDebug这样的技术进行调试,步入步出,逐行逐级排查,这确实也是正统的调试方法,但对于Drupal来说,这个方法会非常的浪费时间。

打印db_select等函数执行的真正SQL语句

9
Vote up!

Drupal7的数据库抽象层和Drupal6的差别很大,更规范,也更OO了,这时如果我们想知道究竟最终生成的SQL语句该怎么做呢?如果是Views,Views会提供这样的调试功能,如果是最基本的db_select, db_insert, db_update, db_delete等API函数创建的增删改查操作,该如何得到他们最终的SQL呢?