Simple MVP example with PHP

2019-02-10 14:03发布

问题:

I know how to work with the MVC model, but I don't have an idea how to work with MVP. I read about the differences between them but don't know how to accomplish it.

回答1:

The difference is twofold:

  • view is passive and unaware of model
  • presenter (controller) changes state of model, reads information and passes it to view

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

This would be a simplified example of presenter's method. Here is an old answer, briefly explaining the differences between MVC-like patterns used in php.



回答2:

The MVP pattern is commonly used in event-driven development and evidently there are some PHP frameworks which supports this paradigm. Here is another Stackoverflow question from a couple of years ago that may help get you pointed in the right direction:

Does PHP supports MVP pattern?