我有几个关于Drupal编码约定的问题,我无法从文档或代码中发现这些问题。
除了知道Drupal中每个钩子的名称之外,有没有办法区分实现一个钩子的函数和一个只为钩子提供一些功能的函数?通过代码或某些约定强制执行某些操作?
其次,可能是相关的问题。在查看核心模块之后,我注意到一些函数以前导下划线命名
function _node_rankings(SelectQueryExtender $query) {
...
}
下划线的含义是什么?我的假设是模仿“受保护”的约定,这意味着只能从node.module
文件中的其他函数调用它。但是,我找不到任何确认这一点。
我知道Coding Standards,但它们似乎针对的是一般的PHP语法,而不是针对Drupal内部系统的约定。