此时我想构建一个MVC框架。一切都很顺利,但现在我在控制器和视图之间遇到了问题。希望你能帮帮我。
我的MVC与MVC没那么不同,它使用相同的概念,但从技术上讲,我遇到了一个问题。问题是:一旦加载视图,如何从控制器获取数据?
请记住,在视图中你不使用全局或类似的东西,每个参数(如DB回复等)必须传递给视图,视图直接使用它(比如...例如,CodeIgniter)
我不知道怎么说得更好,如果你不理解我,我很抱歉。但希望你能!
答案 0 :(得分:3)
您可能希望将变量列表绑定到视图的命名空间。
您可以仔细阅读Kohana's View class获取一些灵感或想法。
答案 1 :(得分:3)
MVC框架背后的观点是View不需要了解Controller及其实现。 View应该只有一个需要存在才能正确呈现的变量列表,并且Controller实现担心确保视图中存在这些变量。
我可能会问您为什么要设计自己的MVC框架?那里有很多很棒的解决方案,我个人建议你试试CakePHP,我用它来运送几种商品,我发誓!
答案 2 :(得分:0)
您必须将视图传递给控制器对象,否则视图必须在相关控制器类上使用静态方法。然后视图调用控制器上的方法来显示结果。视图还通过控制器对象或类将表单数据提交给控制器。
答案 3 :(得分:0)
如果您的View实现使用模板引擎,通常会有一种机制,用于将任意键/值数据添加到模板的范围。如果你没有进展到那一点,那么可能值得考虑类似的策略。