Php Zend Framework 2-最佳模块结构

Php Zend Framework 2-最佳模块结构,php,module,zend-framework2,Php,Module,Zend Framework2,我一直在使用Django有一段时间了,但现在我必须切换到Zend 我的问题是:当创建一个新模块时,例如“后端”,我有3个不同的模型类需要在这个后端管理。我是否将所有文件都放在Backend/src/Backend/。。。或者我只是一个这样的结构:Backend/src/Class1/。。。后端/src/Class2 起初,我认为模块类似于Django应用程序。但如果我再多说一点,它会像一个超级应用程序…?假设你的问题的细节是指ZF2而不是ZF1: 类名称空间确定src文件夹内的路径(默认情况下)

我一直在使用
Django
有一段时间了,但现在我必须切换到
Zend

我的问题是:当创建一个新模块时,例如“后端”,我有3个不同的模型类需要在这个后端管理。我是否将所有文件都放在Backend/src/Backend/。。。或者我只是一个这样的结构:Backend/src/Class1/。。。后端/src/Class2


起初,我认为模块类似于Django应用程序。但如果我再多说一点,它会像一个超级应用程序…?

假设你的问题的细节是指ZF2而不是ZF1:

类名称空间确定src文件夹内的路径(默认情况下)。您可以随意放置文件,但要让自动加载器正常工作,并且让其他人容易理解,遵循此约定是明智的

例如:

Class Namespace: Backend\Entity
Class Name: FirstEntity
Save Path: module/Backend/src/Backend/Entity/FirstEntity.php

谢谢,我已经更新了问题。但是为什么我需要src dir中的第二个“后端”?Zend 2遵循PSR-0进行自动加载。PSR-0需要名称空间来表示文件系统中的路径。PSR-0-autoloading的基本路径是Backend/src,因此您需要一个用于顶级命名空间的文件夹。另请参见:好的,但这只是解释了“src”之前的后端…对吗?还是我遗漏了什么?为什么要在src之后添加一个?在包装模块文件之前的一个,在PSR-0自动加载时需要在后面的一个;)您需要将“src”视为基本文件夹。不是模块/后端。。。模块/后端包装src、数据、公共等。。。模块需要的所有文件。src只包装PHP类——所有文件(资产、临时数据、PHP类,如控制器、实体等)的一个子部分。通过这种方式,您可以在这个模块中实现第二个名称空间,如BackendAdmin——如果这有意义或没有意义,则是另一个问题:欢迎使用DYou。如果您将模块名和模块名称空间视为两个不同的东西,那么就更清楚了——通常它们是完全相同的。