一个面试官问我一个有趣的问题:“如果我要您创建自己的MVC框架,您应该知道什么?”除了将前端控制器作为基础并相应地重定向我们的请求外,我很难给出具体的答案。如果有人可以阐明一点,我们将很高兴。
答案 0 :(得分:4)
您的答案应该是:
实现MVC的Web应用示例:
这里是我选择的使用MVC的Web应用程序工作流方法的概述-主要是受罗伯特·马丁(Robert Martin)的演示文稿Keynote: Architecture the Lost Years的启发,并尝试尊重Trygve Reenskaug提出的原始MVC模式的工作流程1979年(例如,控制器更新了模型,视图从模型中提取数据,而与控制器无关)。
您可以在我的older answer中阅读有关每个组件的更多详细信息。
一些资源:
答案 1 :(得分:0)
如果我曾经遇到过这个问题,我建议提问者退后一步来思考他想解决的问题。
我会回答以下问题:objectMapper.readValue(obj, Employee.class)
MVC模式具有一些优点,但也有很多缺点。 在PHP演变过程中,几年前,我们向自己介绍了MVC框架的时代,那太好了!更快,更轻松的开发过程,很多魔术,活动记录等。
随着PHP社区的发展,我们现在正在学习有关过去错误的艰难方法。极高的耦合度,边缘案例继承,全局变量的使用以及违反每个SOLID规则的实现。 MVC被框架滥用,并且它们实现的方式从根本上是错误的! 中间件的概念将是MVC框架崩溃之后唯一保留的继承。
因此,除了可能引起的代码可重用性问题之外,为了构建(或更好地启动/建议)(MVC)框架,我认为您至少需要技术知识。您需要遵循PHP和PHP Framework的发展道路,并从过去的错误中学习,以便做出选择。
答案 2 :(得分:0)
我想这个问题的最简单答案就是准确地解释什么是php mvc框架,它的功能以及诸如谈论所有偶尔可以在框架中使用的classes
之类的好处。没有它就无法工作:
简要描述它们每个的用法,并讨论数据库类:
也许谈论loaders
,libraries
,helpers
等