将CakePHP项目划分为两个巨大的子系统

将CakePHP项目划分为两个巨大的子系统,cakephp,Cakephp,我在CakePHP的一个大型项目中工作。处理这样一个庞大的系统是很困难的。我想把这个系统分成两个子系统。将有相同的数据库,具有相同的表。两个子系统都可以使用所有表。我只想做两个控制器,模型,视图包;我的意思是,两个包都有自己的控制器、模型、视图,如果需要,它们可以交互 它就像是代码点火器的HMVC,MVC的三元组 可能吗?如果是,如何进行?我要的是任何代码,我要的是如何以系统的方式组织我的系统(站点) 谢谢。与蛋糕中的HMVC相当的是插件。为了模块化您的项目,您可以制作任意多的插件 尽管将代码模

我在CakePHP的一个大型项目中工作。处理这样一个庞大的系统是很困难的。我想把这个系统分成两个子系统。将有相同的数据库,具有相同的表。两个子系统都可以使用所有表。我只想做两个控制器,模型,视图包;我的意思是,两个包都有自己的控制器、模型、视图,如果需要,它们可以交互

它就像是代码点火器的HMVC,MVC的三元组

可能吗?如果是,如何进行?我要的是任何代码,我要的是如何以系统的方式组织我的系统(站点)


谢谢。

与蛋糕中的HMVC相当的是插件。为了模块化您的项目,您可以制作任意多的插件

尽管将代码模块化(使用插件)是件好事,但您需要在站点/项目的其余部分保留对插件的引用

例如,您总是需要在链接中放置插件,以保持正确的链接,如

$this->Html->link('Your link', array('plugin'=>'my-plugin', 'controller'=>'my-controller',....));

除此之外,我认为将项目模块化还有很多好处。

创建两个插件怎么样?我认为插件就是你的答案。使用composer加载它们,您就完成了设置。我们公司对一些依赖于主应用程序的拥抱子系统(工具)也采取了同样的做法。主应用程序可以在没有它们的情况下运行,但是插件没有主应用程序就无法运行。它使您能够更好地控制子模块。当一个子模块包含超过10个模型时,它会提供额外的概述。非常感谢,我现在正在尝试制作一个插件。@JelmerPlugins可以在没有任何“主应用程序”的情况下工作,所有插件都需要CakePHP核心(以及专门编码到插件中的任何外部依赖项)。非常感谢,它帮助了我的目的。@Nik Chankov