0

我正在构建几个需要类似“模块”的站点。例如,站点可能具有完全相同的登录系统、论坛等。

有没有办法我可以一次构建这些模块,然后将它们“放入”这些不同的站点?我看到的一些挑战:

  • 在各个站点中保持代码一致。对模块所做的任何更改都应传播到使用该模块的所有站点。我想我需要一种升级方式?
  • 数据库:这些功能需要作为更大应用程序的一部分工作。也许该模块需要在其各自站点中定义与其他表的关系。

我敢肯定还有更多的问题。我想我应该看看这个:https ://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home ,但我没有任何经验。

所以,我正在为这个想法寻找解决方案、建议或更多问题。

4

3 回答 3

0

我会将它们编写为库并使用 Git 子模块来管理每个模块。Phil Sturgeon 实际上刚刚在 CodeIgniter 中写了一篇很棒的文章

如果您不使用版本控制,我看不到一种在所有应用程序之间同步的简单方法。是的,HMVC 可以让您将应用程序分解为实际的模块,但它无助于在您的应用程序之间同步这些模块。

于 2011-09-26T23:29:03.737 回答
0

您可以通过将第三方包添加到第三方文件夹(这是 CI 2 的新功能)来创建和使用第三方包。文档中没有太多关于它的内容,但我发现了这一点。

http://codeigniter.com/user_guide/libraries/loader.html

您可以在自动加载文件中自动加载第三方包。包可以有自己的控制器、模型、视图等。

有趣的是,Phil Sturgeon 写了一点(http://philsturgeon.co.uk/blog/2010/04/codeigniter-packages-modules)关于包不是模块(严格意义上的术语),但你可以使用您需要的第三方软件包。

于 2011-09-27T14:11:08.293 回答
0

这是我关于“模块化软件中的数据库通信”的问题

你可能会觉得有用。

我对 Drupal 有点熟悉,作为一个模块化应用程序,我认为它可以作为如何定义模块之间关系的一个很好的例子。

这是一篇关于关注点分离艺术的好帖子

我想听听您是否遇到过一些关于 CI 模块化设计的具体挑战、解决方案和参考资料。

于 2011-12-19T11:17:13.967 回答