zf2应用程序文件夹重复'模块/应用程序'和' Modules / Application / src / Application'

时间:2012-10-18 02:32:11

标签: php zend-framework2

为什么zf2 Application文件夹在Modules /和Modules / Application / src中?我的意思是......为什么不用结构Module / Application / src / controller等。?

2 个答案:

答案 0 :(得分:2)

您可以找到新zf2结构http://akrabat.com/zend-framework-2/modules-in-zf2/

的详细信息
  

当我们使用PHP 5.3时,我们希望src文件夹中的类将是命名空间。默认情况下,假定模块的主名称   作为它的主要命名空间,在这种情况下简单。为了要做   自动加载更简单,并遵循PSR-0惯例,我们创建   src中的简单命名空间文件夹。这意味着命名空间   SimpleController类是文件中的Simple \ Controller   SRC /简单/控制器/ SimpleController.php。

     

这显然是更简单的模块之一,很有可能   src / Simple文件夹中还有其他文件夹,如Model,Form和   这样的。此外,视图文件夹可能有更多的子文件夹   对于其他控制器。

答案 1 :(得分:1)

模块旨在成为单一用途,可重复使用的代码容器。因此,它们将包含完成该任务所需的一切 - 可能(或可能不)!包括控制器,模型,公共资产,配置,视图模板等。

为了保持语义分组的各个部分,每个部分在模块中都有自己的子文件夹。源PHP代码在“src”中,并且该目录中的代码应该遵循PSR-0 naming conventions - 因此您将看到在那里重复的模块命名空间。配置在“config”中,在“view”中查看模板,在“public”中查看公共资产,等等。

也就是说,只要你的Module类是可发现的,你可以自由地组织你想要的模块,它可以指示如何自动加载类并为MVC提供配置。但是,建议您在ZendSkeletonApplication和ZendSkeletonModule中看到的结构,因为它是社区内大量头脑风暴的结果,并为所提供的每种类型的文件提供干净的语义。