我开始熟悉在 zend 框架项目中使用基于模块的架构。我对模块架构感兴趣的真正原因是能够从一个项目中取出一个模块并将其放入另一个项目中。可能是我没搞清楚..
但我立即注意到的是,每个模块中的 Controller 不能与主应用程序(或任何其他模块中的任何其他 Controller )具有相同的名称,尽管我还没有测试过这一点。这让我认为模块并不是真正独立的独立单元,所以我想知道这如何影响它们从一个项目到另一个项目的分发的难易程度。
另一个问题是,如果我将一个模块放入另一个项目中会怎样。我是否必须手动更新 .zfproject.xml
?如果手动完成的话会不会有点太麻烦了?
也许我不清楚在 zend 中应该如何使用模块,所以我想知道你什么时候决定最好使用它们,什么时候你决定不使用它们,或者你是否全部使用它们时间,还是你从不使用它们?
最佳答案
到目前为止,我在项目中始终使用基于模块的架构,因为我喜欢分离概念。例如,我始终有一个 ADMIN 模块,其类和 Controller 不会与应用程序的其余部分混合。使用模块,您可以为其他应用程序重用模块,例如,如果您创建 BLOG 模块。
即使文件名为 IndexController.php, Controller 的名称也将类似于管理模块的 Admin_IndexController。
另一个很好的概念,可以帮助您重用资源,那就是插件。使用它们进行身份验证或检查请求的有效性。
关于php - 基于模块的项目 : when to use them or not use them,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3733497/