关于构建自己的(PHP)MVC框架的问题

时间:2010-09-19 22:57:37

标签: php model-view-controller frameworks codeigniter controller

此时我想构建一个MVC框架。一切都很顺利,但现在我在控制器和视图之间遇到了问题。希望你能帮帮我。

我的MVC与MVC没那么不同,它使用相同的概念,但从技术上讲,我遇到了一个问题。问题是:一旦加载视图,如何从控制器获取数据?

请记住,在视图中你不使用全局或类似的东西,每个参数(如DB回复等)必须传递给视图,视图直接使用它(比如...例如,CodeIgniter)

我不知道怎么说得更好,如果你不理解我,我很抱歉。但希望你能!

4 个答案:

答案 0 :(得分:3)

您可能希望将变量列表绑定到视图的命名空间。

您可以仔细阅读Kohana's View class获取一些灵感或想法。

答案 1 :(得分:3)

MVC框架背后的观点是View不需要了解Controller及其实现。 View应该只有一个需要存在才能正确呈现的变量列表,并且Controller实现担心确保视图中存在这些变量。

我可能会问您为什么要设计自己的MVC框架?那里有很多很棒的解决方案,我个人建议你试试CakePHP,我用它来运送几种商品,我发誓!

答案 2 :(得分:0)

您必须将视图传递给控制器​​对象,否则视图必须在相关控制器类上使用静态方法。然后视图调用控制器上的方法来显示结果。视图还通过控制器对象或类将表单数据提交给控制器。

答案 3 :(得分:0)

如果您的View实现使用模板引擎,通常会有一种机制,用于将任意键/值数据添加到模板的范围。如果你没有进展到那一点,那么可能值得考虑类似的策略。