Zend framework2 Zend Framework 2目录组织

Zend framework2 Zend Framework 2目录组织,zend-framework2,Zend Framework2,有人能为ZF2提出最佳的目录结构组织吗。例如,我有: 几个控制器助手 自定义视图hwlpers 其他库,如PHPExcel 自定义类 身份验证,ACL类 事件处理程序,等等 因此,哪一种是最好的(通俗易懂的)目录组织。有两种结构:应用程序结构和模块结构 应用程序 应用程序的默认和推荐目录结构如下: config/ autoload/ module/ public/ vendor/ MyModule/ config/ src/ MyModule/ Contro

有人能为ZF2提出最佳的目录结构组织吗。例如,我有:

  • 几个控制器助手
  • 自定义视图hwlpers
  • 其他库,如PHPExcel
  • 自定义类
  • 身份验证,ACL类
  • 事件处理程序,等等

因此,哪一种是最好的(通俗易懂的)目录组织。

有两种结构:应用程序结构和模块结构

应用程序

应用程序的默认和推荐目录结构如下:

config/
  autoload/
module/
public/
vendor/
MyModule/
  config/
  src/
    MyModule/
      Controller/
        Plugin/
      Form/
      Service/
      View/
        Helper/
  view/
有一个
config/application.config.php
文件,在
config/autoload
目录中,您有特定于应用程序的配置,它覆盖任何特定于模块的配置

module/
目录中,您可以放置所有应用程序模块。如果您使用第三方模块或制作了一些可重用的模块,那么最好将它们放在
vendor/
目录中。这样,您就可以清楚地区分特定于应用程序的模块和非特定于应用程序的模块

public/
是您的webroot。这里有
index.php
,您可以将样式、脚本和其他资产放在那里

示例:一个完美的示例是在
vendor/
目录中有一个目录
PHPExcel

模块

模块具有以下默认和推荐结构:

config/
  autoload/
module/
public/
vendor/
MyModule/
  config/
  src/
    MyModule/
      Controller/
        Plugin/
      Form/
      Service/
      View/
        Helper/
  view/
所有php代码都进入
src/
。因为
src/
遵循标准,所以在
src/
目录中重复使用顶级名称空间(
MyModule
)。在此目录下,您拥有所有模块代码

就像Zend Framework 2中的帮助程序一样(
Zend\Mvc\Controller\Plugin\SomePlugin
),我会将它们放在
Controller/Plugin
目录中。对于查看帮助程序,您有相同的功能:类似于
Zend\view\Helper\SomeHelper
,我建议您将帮助程序放在
view/Helper
目录中

然后剩下“自定义类”、“auth、acl类”和“事件处理程序等”。这实际上取决于他们所做的工作。有时,我在模块源代码中有一个
侦听器/
目录,事件侦听器位于该目录中。Acl和身份验证也可以存储在
Auth/
Acl/
目录中。这实际上取决于具体情况,这里最重要的是您遵循PSR-0,并且源封装在一个模块中