Когда следует использовать AcceptableViewModelSelector и стратегии рендеринга / ответа в Zend Framework 2?

Если требуется формат JSON, XML и т. Д., А также выходной формат, можно использовать плагин контроллера AcceptableViewModelSelector или / и (?) Альтернативные стратегии рендеринга / ответа.

Когда следует применять одно и когда другое (и когда применяется комбинация)?

Могут ли они / должны быть объединены?

1 ответ

Решение

Ну, стратегии в основном слушатели. Слушатели, которые дают действие в зависимости от того, какая модель будет возвращена из ваших действий контроллеров. Если вы вернете ViewModel PhpRendererStrategy состоится. Если вы вернете JsonModel, JsonStrategy будет делать это вещи, и если вы вернете FeedModel это FeedStrategy делаю это

Однако стратегии применяются только в том случае, если они зарегистрированы. Так что если вы вернете JsonModel не имея JsonStrategy зарегистрировался, тогда ничего не будет.

AcceptableViewModelSelector существует для обеспечения более легкого доступа и обработки различных ModelFormats в зависимости от заголовка accept. Это помогает сделать вещи проще, не больше, не меньше.

Стратегии, вы также можете зарегистрировать свою собственную. Есть модули, которые имеют PdfStrategy, которая будет выдавать PDF-документ, если вы скажете это.

Чтобы немного смягчить ваш вопрос:

  • Стратегии были там с самого начала ZF 2.0
  • Плагин контроллера AVMS появился в ZF 2.1 только для того, чтобы упростить задачу - вот почему это не что иное, как "плагин";)

Если это на самом деле не касается вашего вопроса, я не уверен, что вам ответить ^^

Другие вопросы по тегам