什么时候我们应该在php Phalcon中使用多模块结构(而不是简单结构)?
我发现了一些多模块框架,例如:
https://github.com/ovr/phalcon-module-skeleton,
https://github.com/phalcon/mvc/tree/master/multiple。
但我不知道我是否应该在一个项目中使用这种多模块结构,而不是使用多个项目。
然而,我认为它有一些有趣的东西(很多ITer都用过它)。有没有人可以给我优势,劣势和选择的标准。
P/s: Zend2模块也有同样的问题!
发布于 2016-02-23 18:09:01
如果您要将单一用途的应用程序构建为不使用视图的API,则应该使用单模块结构。如果它将是一个非常简单的API,例如存储/日志,那么微应用也会做得很好。
如果您愿意构建更复杂的解决方案,则多模块应用程序结构非常有用。例如,具有公共内容但具有管理面板的公共应用程序。这个可以方便地用多模块编写,以便将管理控制器/视图与那些公共控制器/视图分开。
我的习惯是使用多模块结构,因为大多数情况下,我必须使用它们的API和一个公共的可访问内容部分来构建CRM应用程序。文档)。为了达到这样的目的,可以很方便地创建这样的模块:
通过这种方式,您可以为每个模块保留单独的服务配置,从而避免切断您在模块A中使用而不是在模块B上使用的内容。例如,身份验证部分-对后端很重要,但对前端部分无用。或者数据库配置-前端的slaves,后端的master等。因此,对于大型项目,这也可能是一个性能方面的解决方案。
更新
有时“多项目”是一个包括“多模块”项目的选项;)它很大程度上取决于你试图实现的目标。例如:如果您将API拆分开来,那么在多个实例上扩展它可能会更容易,但首先需要一个efford来配置单独的项目。
如果系统应该是单服务器实例,或者每个实例都应该完全独立于其他实例,那么单个多模块项目就足够了-比方说一个标准的CMS,博客平台,甚至是简单的浏览器游戏或移动应用程序的主页,包括它的API。但是,如果你正在构建一个完整的应用程序,比如一个内部API来提供内容,CRM来管理它,几个网页来为它提供服务,那么将这些作为单独的项目进行管理会更容易。
发布于 2016-03-21 02:32:36
好吧,例如,我在我的应用程序中拆分每个功能-例如我有模型链接-它被拆分成独立的模块,以具有良好的应用结构,其中每个功能都是独立的模块。这就像是在加载器中加载更少的类。因为你只需要每个模块的模型和路由来加载整个应用程序,而你在模块中加载其他东西,比如库/控制器/帮助器/服务。
https://stackoverflow.com/questions/35569207
复制相似问题