Я считаю полезным рассматривать веб-приложения с точки зрения состояний и переходов между состояниями.приложение находится в определенном состоянии, оно «в» виде, некоторый HTML был с помощью связанного Presenter из данных в модели и отображен в браузере.Пользователь выполняет действие, и это собирается переместить наше приложение в новое состояние.Итак, мы переходим от одной пары View / Presenter к другой.По моему мнению, модель - это более продолжительная, развивающаяся вещь, и я не вижу, чтобы мы получали новую модель для каждого перехода.
Итак, у вас есть PresenterA, отвечающий за реагирование на события в ViewA.
PresenterA получает какое-то событие, выполняет некоторую работу, которая может привести к изменениям модели, а затем решает, к какому представлению перейти, например ViewB.ViewB может создать своего Presenter.В соответствии с примером из Википедии (не PHP, я понимаю, но принцип ясен):
public class DomainView: IDomainView
{
private IDomainPresenter domainPresenter;
public DomainView() // Constructor
{
this.domainPresenter = new ConcreteDomainPresenter(this);
}
}
По сути, Presenter является создателем следующей пары View / Presenter.Если у вас более сложная логика, замените явный конструктор
new ConcreteDomainPresenter(this);
фабрикой, работающей с информацией о представлении и модели.