我开始熟悉为zend框架项目使用基于模块的架构。我对模块架构感兴趣的真正原因是能够从一个项目中获取一个模块,然后将其放入另一个项目中。也许我说得不对..
但我现在注意到的是,每个模块中的控制器不能与主应用程序中的任何其他控制器具有相同的名称(或者在任何其他模块中,尽管我没有对此进行测试)。这让我觉得模块不是真正独立的独立单元,所以我想知道这会如何影响它们从一个项目到另一个项目的易于分发。
另一个问题是,如果我拿一个模块并将其放入另一个项目中。我是否必须手动更新.zfproject.xml
?并不是手动完成有点麻烦吗?
也许我不清楚如何在zend中使用模块,所以我想知道什么时候你决定最好使用它们,什么时候你决定不使用它们,或者你是否一直使用它们时间,还是从不使用它们?
答案 0 :(得分:2)
到目前为止,我总是在项目中使用基于模块的架构,因为我喜欢将概念分开。例如,我总是有一个ADMIN模块,其类和控制器不与应用程序的其余部分混合。使用模块可以将模块重用于其他应用程序,例如,如果您创建BLOG模块。
即使文件名为IndexController.php,控制器的名称也类似于管理模块的 Admin_IndexController 。
另一个很好的并且帮助您重用资源的概念是插件。使用它们进行身份验证或检查请求的有效性。
答案 1 :(得分:2)
您需要为模块设置名称空间,以便在不重命名的情况下轻松将它们移动到新项目中。
如果您使用Zend Tool,则必须编辑zfproject.xml。我没有花很多时间使用它,所以我不确定是否有其他方法没有手动编辑。