国外设计欣赏网站 - DOOOOR.com

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,微信登陆

搜索
打印 上一主题 下一主题

[Drupal模块] Drupal 模块目录组织结构推荐contrib/custom/[project_name]/dev

[复制链接]
跳转到指定楼层
楼主
发表于 8-24-2012 18:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
每个 Drupal 站点都会用到一定数量的模块,养成良好的模块组织习惯非常重要,尤其以团队进行某一个项目时,规范的模块目录组织结构能够使站点的开发和维护变得更加容易。经过长时间的项目积累与验证,今天与大家分享一下模块目录结构的组织方式:
- Q( K* |4 S4 O3 Z, \4 Y* ~
6 M4 \% B( W$ j6 x- P! Ksites/all/modules/contrib* d8 z, n! i" d) c( b7 |+ i
sites/all/modules/custom
: e, x) D/ L* l7 r" P; @& wsites/all/modules/[project_name]# U% ~: K  ~  W' _- x0 `+ U5 a
sites/all/modules/dev
) H9 b& u- [% C2 `, N' p1 r4 `" p3 F) Q% y( f
模块位置的基本原则1 z7 g- |8 A: I6 c) h% i3 K, `6 N, E
按照惯例,所有非核心的 Drupal 模块都应该放置于 sites 目录下,这样在将来对 Drupal 版本进行升级时才会方便。/ j! a( E! c$ Y) r% y$ d/ ]
# ?, S+ R$ H' O" N6 ?7 w# j
分目录组织模块
8 V. l: E3 {8 P8 e- Q8 j从上面的目录结构可以看出,我们将模块目录分为第三方模块、自定义模块、项目模块和开发辅助模块。
& c0 j) K+ |4 f; m. U, i: O8 r6 P0 W& N; O
“第三方模块”是指我们从 Drupal 官网上下载下来的模块,一般而言,我们不会也不推荐修改这些模块。因此将这类模块存放于 contrib 目录进行集中管理。9 m( D; H8 y' [; s7 h

1 o  Z* W: g& Y7 D2 F“自定义模块”目录用于存放我们自己创建的通用模块—“通用”是指这个模块拿出来放到其它的Drupal网站也能用,“自定义模块”与“第三方模块”的区别可能只在于能不能通过 drupal.org 进行下载。“自定义模块”目录的另一个作用是存放我们改动某个第三方模块(虽然不推荐个性第三方模块,但有时还是不得不修改它们才便于实现某些功能),那么我们建议将改动的第三方模块移动到 custom 目录下,这样一来,在对模块进行升级前我们会记得对这个模块进行了修改,就可以在升级前制作补丁而避免升级覆盖了修改。
0 W2 o& u# e; L2 L( @- e- y3 s1 W+ m! M, T# s
“项目模块”目录下的模块也属于自定义模块,不同点在于这个目录下的模块是针对某一个项目的特定模块,不具备通用性。除了自定义模块,使用 features 模块导出的针对当前项目的各种功能包也应该放在此目录下。- j# W0 E* b0 V) u! X
! I: q$ c* z3 v! [9 Z% S; `0 x* J
“开发模块”目录则用于存放各个作为开发用途的模块。
0 g) f5 F0 i" f+ D) m9 s
$ ^4 e+ ?; Q, K( c; l单独存放开发辅助模块
3 x! ]) A6 U- ~) [' R/ W0 X, B, h# V1 @在制作 Drupal 站点的过程中,少不了使用各种开发辅助模块,如 devel, devel_themer, demo, simpletest, trace 等等。这些模块对于开发过程非常有帮助,但如果放到生产服务器和测试服务器则不太合适,还会产生不少安全隐患。因此将这些模块单独存放在 dev 目录下,同时也不应该被 git 或其它版本控制软件跟踪,让它们只存在于每个开发人员的开发环境下,即轻便又安全。
( ~8 T  V, Y% ]9 ^- `& C; W6 f, |3 K, S6 A  [

7 ]8 R8 |3 B" u; S& f本文选择: lugir,谢谢!
6 g' y/ k+ [" S/ E

|2011-2026-版权声明|平台(网站)公约|DOOOOR 设计网 ( 吉ICP备2022003869号 )

GMT+8, 4-16-2025 14:48 , Processed in 0.385405 second(s), 251 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表