我阅读有关codeigniter模块的文章已经有很长一段时间了,并决定深入研究它。我已经了解了基本概念,每个模块都是一个独立的"MVC",因此很容易维护,添加等,但需要一些帮助来理解正确的实现。
首先,具体地说,我想要一个在原始模块化扩展hmvc站点的线路的解释
要仅使用模块分离,而不使用HMVC,控制器将扩展CodeIgniter控制器类。
这到底是什么意思呢?如果有人能解释它的意义和目的,那将是非常有帮助的。
此外,对HMVC、模块化扩展和分离等进行更多的概念性解释会更好。比如如何决定何时扩展模块,如何分离模块,以及这意味着什么。
发布于 2012-10-05 21:37:26
https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home
要使用Modules::run()等HMVC功能,控制器必须扩展MX_Controller类。
要只使用模块分离,而不使用HMVC,控制器将扩展CodeIgniter控制器类。
这意味着如果你想让你的控制器能够利用Modules::run(),它可以从你的应用程序中的任何地方(包括其他模块)调用,你需要让控制器像这样扩展MX_Controller类:
class Foobar extends MX_Controller {}MX_Controller是模块化扩展包的基本控制器。您还可以选择扩展本身扩展MX_Controller的任何其他控制器,如下所示:
// Base controller
class Module_Controller extends MX_Controller {}
// Actual controller
class Blog extends Module_Controller {}
Modules::run()用于返回视图的部分参数。
如果你不需要这个功能(你可能不需要),那么你不需要在模块的控制器中做任何不同的事情:
class Foobar extends CI_Controller {}
class Foobar extends MY_Controller {} // etc.在这种情况下,“模块”只是迷你CI应用程序,每个应用程序都有自己的模型、视图、控制器等。它有助于保持代码的条理性,并使您能够更好地分离不相关的组件。理论上,任何CI应用程序都可以成为一个模块,反之亦然。
https://stackoverflow.com/questions/12746027
复制相似问题