【问题标题】:Divide application into modules将应用程序划分为模块
【发布时间】:2018-01-20 21:53:06
【问题描述】:

我是否应该将应用程序分成单独的模块,例如:

  • 管理员实际上一切都可以在这里
  • 模块日历
  • 模块消息
  • 等等..

我想知道,因为即使我将应用程序放入较小的模块中,如果我关闭例如消息,整个应用程序都不会工作,因为如果第一次预约,消息正在发送,我正在使用那里一个模型表单消息。

我认为模块应该是完全独立的,一个可以独立工作。这是模块的约定吗?另一方面,如果我不划分它,它可能是相当大的模块 Admin 并且有点混乱。当然有办法实现这一点,我可以复制代码,以便 ecah 模块 colud 单独工作。但是复制代码?我认为这不是一个好主意。

我知道我的问题有点理论,但我想学习好的做法我一直在想这个问题。我应该创建新模块还是只是另一个控制器?

【问题讨论】:

    标签: php module zend-framework2 appointment


    【解决方案1】:

    不管你有多少个模块,但你的业务逻辑要保持在控制器之外,如服务/模型/存储库,这样你就可以从任何控制器访问它。

    通常是开发人员。构建“admin”、“application”、“front”模块。 但不限于此。

    模块仅用于组织您的文件、代码、逻辑,以便您的开发人员可以轻松地跟进。

    如果您认为有很多事情要做并且很特别,请创建一个新模块。

    For Ex:
    suppose you have two module "Admin", "Application".
    You can create a third module "Basic", containg logic/modal/services for both "admin", "application".
    

    见ZF页面的模块结构策略,https://docs.zendframework.com/zend-modulemanager/intro/

    我认为这对理解你会更有帮助。

    【讨论】:

    • 非常感谢您的回复。所以总的来说,你说我不应该太在意每个模块都完全独立。早些时候我用magento写了很多东西,写了一些模块,也许这就是为什么我相信每个模块都是独立的。
    • 模块可能是独立的,也可能依赖于某些模块,根据要求,因为您的“Admin”模块可能独立于“Front”模块,但可能依赖于其他一些模块。跨度>
    • Admin 是 admin 前面是前面,但是应用程序?里面应该有什么。假设我们有非常简单的基于 zend 的 cms。例如。页面,类别,管理员将用于管理页面和类别/前端以显示它们和应用任何其他额外功能,例如媒体专辑或其他东西?
    • 简单来说,当应用程序加载时,所有在“application.module.php”配置的模块都被加载,当你打开前端(UI)页面时,你不想加载额外的内容“Admin”模块,前端UI用户不需要,所以这里应该有独立的模块。
    • 假设你的系统有“crons”用于发送电子邮件/更新一些东西,你可以把这些类型的代码/逻辑放在应用程序模块上。
    猜你喜欢
    • 2018-09-06
    • 2016-04-06
    • 2018-06-18
    • 2020-12-19
    • 2017-07-09
    • 2021-03-09
    • 2012-01-25
    • 1970-01-01
    • 2015-11-08
    相关资源
    最近更新 更多