基于模块的zend项目的文件夹结构

时间:2010-09-17 18:42:20

标签: php zend-framework

当使用普通架构时(我猜它叫做基于控制器的架构),zend建议使用以下文件夹结构(taken from here):

  <project name>/
      application/
          configs/
              application.ini
          controllers/
              helpers/
          forms/
          layouts/
              filters/
              helpers/
              scripts/
          models/
          modules/
          services/
          views/
              filters/
              helpers/
              scripts/
          Bootstrap.php
      data/
          cache/
          indexes/
          locales/
          logs/
          sessions/
          uploads/
      docs/
      library/
      public/
          css/
          images/
          js/
          .htaccess
          index.php
      scripts/
          jobs/
          build/
      temp/
      tests/

现在对于使用基于模块的体系结构的项目,而不是基于控制器的默认体系结构,我找不到推荐的文件夹结构。

  • 我知道会有一个模块文件夹,其中的每个模块都有自己的子文件夹(控制器,视图,模型)。
  • 但我看过一个教程只创建控制器和视图(没有模型),并将主(应用程序)模型文件夹中的所有模型组合在一起。奇怪!
  • 另外由于它是基于模块的,不应该将主应用程序内容也移动到自己的模块中吗?如果将它们移到一个单独的模块中,是否需要应用程序级别的文件夹(控制器,视图,模型)?

1 个答案:

答案 0 :(得分:2)

这完全取决于你。我个人将模块特定的模型保存在相应模块的模型目录中,但在应用程序级别保留“通用”应用程序模型。例如,错误控制器将保留在应用程序/控制器中。