8 函数名字
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
在Drupal中,函数的名字都是小写的,为了避免命名空间冲突,通常以模块的名字或者它们所属系统的名字作为前缀。下划线用来分隔函数名字的描述性部分。在模块名的后面,通常应该紧跟一个动词,接着是动词作用的对象:modulename_verb_object()。在下面的第一个例子中,函数名字没有正确的使用模块前缀,并且动词和它的对象颠倒了。在接下来的例子中,很明显,修正了这些错误。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
在Drupal中,函数的名字都是小写的,为了避免命名空间冲突,通常以模块的名字或者它们所属系统的名字作为前缀。下划线用来分隔函数名字的描述性部分。在模块名的后面,通常应该紧跟一个动词,接着是动词作用的对象:modulename_verb_object()。在下面的第一个例子中,函数名字没有正确的使用模块前缀,并且动词和它的对象颠倒了。在接下来的例子中,很明显,修正了这些错误。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
在函数的名字和它的开括号“(”之间没有空格。在编写函数时,如果它的有些参数需要使用默认值,那么需要把这些参数列在后面。还有,如果你的函数生成了任何有用的数据,那么你需要返回该数据,以供调用者使用。下面给出了一些函数声明的例子(摘自node.module):
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
在函数调用中, 在操作符(=, <, >,等等)的两边应该各有一个空格,而在函数名和函数的开括号“(”之间则没有空格。在函数的开括号“(”和它的第一个参数之间也没有空格。中间的函数参数使用逗号和空格分隔,在最后一个参数和闭括号“)”之间没有空格。在上面的例子中,区块内容的赋值语句就说明了这几点:
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
流程控制语句是程序中用来控制执行流程的指令,比如条件语句和循环语句。条件语句有if、else、 elseif、和switch语句。循环语句有while、do-while、for、foreach。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
包含代码的文件,比如.module或.inc文件,会使用PHP代码开始标签,如下所示:
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
对于所有的二元运算符,比如+、-、=、!=、==、>,应该在运算符的前面和后面增加一个空格,从而增加可读性。例如:
正确:
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.
Drupal代码的缩进,使用的是两个空格,而不是tab键。如果你习惯了使用tab键,那么你可以在你的编辑器中,设置一个首选项,将tab键设置为两个空格,这样你就可以继续使用Tab键,并且也能达到缩进两个空格的目的。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
Drupal社区认为,它的核心代码必须遵守一个标准的规范,从而提高代码的可读性,也使得初学者更容易学习Drupal。Drupal官方也鼓励第3方模块的开发者采用这些规范。实际上,如果你没有遵守编码规范,你的模块仍然能够正常工作,但是模块中的代码,不利于同行之间的交流。我们首先学习一下具体的规范,接着介绍了一些工具,用来自动检查代码的质量(甚至可以为你纠正代码)。