Активные модели возможны на фронтенде, т. е. когда меняется модель сразу же меняется ее представление. В php активные модели в принципе не возможны.
Действия пользователя отслеживает контролер, он дергает модель и передает данные в представление
Ключевое отличие. В PHP контроллер динамически не отслеживает действия пользователя, т. е. пришёл запрос - создали контроллер, создали модель, создали представление - вернули ответ. Новый запрос - по новой создаются контроллер, модель и представление.
А-ля MVVM?
Не обязательно. Модель может быть как активной, так и пассивной в любом из вариантов: MVC / MVP / MVVM. Если модель оповещает о своём изменении (см.
пунктирные стрелочки на схемах), и в результате изменяются представления для этой модели, то это активная модель.
Можно живой пример в студию ? Где вы это применяли кроме википедии ?
1. Возьмите TodoMVC:
todomvc.com/examples/backbone/#/
2. Откройте консоль браузера (F12).
3. Создадим новую модель. Введите в консоли:
var todo = new app.Todo({title: 'Увидеть активную модель'});
4. Добавим созданную модель в коллекцию:
app.todos.add(todo);
5. А теперь изменим модель и обратим внимание, как изменится её представление:
todo.set('completed', true);