Lel*_*mbo 14 php frameworks controller adapter
许多PHP框架声称它们实现了MVC设计模式.但是,在它们的实现中,模型和视图彼此不了解,并且它们之间的每个通信必须通过控制器完成.正如我在维基百科中读到的,这是MVA(模型视图适配器)而不是MVC设计模式方法,因为在MVC中,模型和视图直接通信.
那些框架的主张是错误的还是我错过了什么?
像CodeIgniter这样的框架是MVA,是的.但是,他们的说法并没有错,因为MVA基本上是一种不同类型的MVC部署.中介控制器受到处理业务逻辑的用户的攻击; 他们还调用模型来获取数据并准备视图.
这并不完全偏离模型和视图可以相互通信的严格MVC,所以说它"错误"有点苛刻.我会说这是对MVC的不同看法.
编辑:
请参阅CodeIgniter对它的看法:
https://www.codeigniter.com/user_guide/overview/at_a_glance.html#
不需要模型,因为一切都可以在控制器中完成(显然不建议).请注意,CI(以及大多数其他框架)表示它们基于 MVC原则.