Когда следует использовать 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 только для того, чтобы упростить задачу - вот почему это не что иное, как "плагин";)
Если это на самом деле не касается вашего вопроса, я не уверен, что вам ответить ^^