使用PHP的简单MVP示例

4

我知道如何使用MVC模型,但不知道如何使用MVP。我了解它们之间的区别,但不知道如何实现。


1
请看这里:https://dev59.com/h3VD5IYBdhLWcg3wXacd - lkaradashkov
1
是的,但是没有示例。只有一个简单的代码。 - grape1
2个回答

4

这两者的区别在于:

  • 视图(view)是被动的,不知道模型(model)的存在;
  • 主持人(presenter,也就是控制器)会改变模型的状态,读取信息并将其传递给视图。

public function showUsers()
{
    // -- snip
    $data = $accountManager->getUserDetails($from = 10, $to = 20);
    $view->bind('list', $data);
    // -- snip
}

这是一个演示Presenter方法的简单例子。这里有一个旧答案(链接),简要解释了在php中使用的类似MVC的模式之间的区别。

0

MVP模式通常用于事件驱动开发,显然有一些PHP框架支持这种范例。以下是几年前的另一个Stackoverflow问题,可能会帮助您找到正确的方向:

PHP是否支持MVP模式?


2
MVP与事件驱动范式无关。以下是一些MVP框架的例子,你可能听说过:Ruby on Rails、CodeIgniter、CakePHP、Yii。 - tereško
MVP模式通常与事件驱动范例一起使用,因为它很适合。现在我得到您的祝福了吗,Tereško博士? - Will Sams
1
MVP通常被(误)使用。 时期。由于PHP在问题标签中,事件驱动范例并不真正适用...除非您将网站本身视为固有的事件驱动应用程序。 - tereško
1
这就是Stackoverflow的现状。祝你有美好的一天,兄弟。 - Will Sams

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接