我正在构建几个需要类似“模块”的网站。例如,网站可能具有完全相同的登录系统,论坛等。
有没有办法可以构建这些模块一次,只是将它们“丢弃”在这些不同的网站中?我看到的一些挑战:
我确信还有更多问题。我想我应该看看这个:https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home,但我对此没有任何经验。
所以,我正在为这个想法寻找解决方案,建议或更多问题。
答案 0 :(得分:0)
我会将它们编写为库并使用Git子模块来管理每个模块。 Phil Sturgeon实际上刚刚写了一篇很棒的post about doing this in CodeIgniter。
如果您没有使用版本控制,我看不到在所有应用程序中同步的简便方法。是的,HMVC将允许您将应用程序拆分为实际模块,但它无助于在您的应用程序中同步这些模块。
答案 1 :(得分:0)
您可以通过将第三方软件包添加到第三方文件夹(这是CI 2的新文件夹)来创建和使用它们。文档中没有太多关于它的内容,但我发现了这一点。
http://codeigniter.com/user_guide/libraries/loader.html
您可以在自动加载文件中自动加载第三方软件包。包可以有自己的控制器,模型,视图等。
有趣的是,Phil Sturgeon写了一些关于软件包不是模块的文章(http://philsturgeon.co.uk/blog/2010/04/codeigniter-packages-modules),但严格意义上讲,可能会使用第三方软件包来满足您的需求。
答案 2 :(得分:0)
以下是关于“Database communication in modular software”
的问题您可能觉得有用。
我对Drupal有点熟悉,作为模块化应用程序,我认为它可以作为如何定义模块之间关系的一个很好的例子。
以下是关于art-of-separation-of-concerns
的一篇好文章我想听听您是否遇到过有关CI模块化设计的一些具体挑战,解决方案和参考资料。