您如何组织Drupal代码?一个巨大的模块?每个功能单独的模块?每个代码类型单独的模块(主题函数,菜单挂钩等)?
我开始尝试按功能组织,将模块视为库。最终,事情永远不会完全包含......模块想要使用彼此的主题功能,模块都会为共同的页面提供各种标签 - 两个例子并不总是如此清晰地找到代码。这诱使我将所有主题功能保持在一起,并将所有hook_menus保持在一起,但由于其他原因,这会很尴尬......
假设所有代码都太具体而不能最终共享,因此这里没有尝试制作自包含的贡献模块。我最担心的是在大型Drupal网站上保持理智和清洁。
答案 0 :(得分:1)
我倾向于拥有一个文件夹,其中包含一个包含所有共享功能的主模块,以及由逻辑功能部门分解的各种子模块。我发现单一的巨大模块方法使得查找内容相当不合理。
如果你没有在Drupal.org上发布它,那真的没什么区别,所以对你来说没有任何意义是好的。
答案 1 :(得分:0)
我将所有自定义项加载到每个项目的单个模块中(菜单/表单/链接更改等)。如果完成了足够的自定义,我将分叉原始模块或创建一个新模块,将原始模块作为依赖项。在这一点上它是非常主观的:我没有硬性和快速的规则说'当我到达这么多功能点或代码行时分叉模块'。
任何增加功能的东西(意味着它不会覆盖其他东西)都会进入它自己的模块。
如果任何新创建的或分叉的模块可以在其他项目或上下文中使用,我会将它们发布到我的个人存储库。
答案 2 :(得分:0)
我经常使用单个模块和一组包含我存储类的包含文件。虽然视图使用多个模块,但它是此策略的一个很好的示例。看一下views模块包含的文件夹,看看我的意思。