2. Drupal的模块开发

接触Drupal没多久,由于工作的原因,不得不尽快的进行模块开发,好在有一些PHP基础,理清了开发流程以及需求,就可以开始动手写代码了,可问题是,接触没多久的我,对于Drupal的开发流程还没有理清,于是就开始了多方面的查询资料,看《开发指南》,主要是在drupalbar上的中文版,《开发指南》上讲解的很细致,对于每一行每一段所做的操作,都进行了详细的讲解,这对我理解开发流程有了很大的帮助,也就是这段时间,我清楚了Drupal内部的函数调用是利用了钩子机制来实现的,这里我简单的描述一下我理解的Drupal的钩子机制,当然,每个人理解的可能会有不同,而且我接触的时间也不算长,如果有错误,欢迎指出,也欢迎各位来这里进行讨论。^_^
Drupal的钩子机制,其核心的循环是由系统的核心模块来完成的,根据模块列表,循环在各个模块中查找当前操作的API,例如,在node显示的时候,系统会循环判断各个模块中是否存在 _nodeapi() 这个接口函数,如果存在,则执行其中 view 这个分支的代码,比如《开发指南》上的那个例子,在节点显示的时候,显示注释表单,就是用的这个api函数,同样,在执行其他操作的时候,也会循环判断每个模块中的相应的api接口函数,具体的API函数,请参考Drupal官方网站的API部分,地址为:http://api.drupal.org/ 这里不仅有api函数的说明,还有一个例子模块,来说明如何使用api函数。
了解了Drupal的钩子机制,我就按照《开发指南》上面的步骤,一步一步的完成着例子上的模块,建议像我这样的初学者,最好能够按照《开发指南》上面的例子,跟着一步一步的写一个模块出来,这样会对Drupal的模块开发有个基本的认识,也会为将来的开发打下基础。