0

如果需要 JSON、XML 等输出格式,可以使用AcceptableViewModelSelector Controller Plugin或 / 和 (?)替代呈现 / 响应策略

什么时候应该应用一个,什么时候应用另一个(以及什么时候组合)?

它们可以/应该结合吗?

4

1 回答 1

3

好吧,策略基本上是听众。根据控制器操作返回的模型类型来提供操作的侦听器。如果您返回ViewModelPhpRendererStrategy则将发生。如果您返回 a JsonModelJsonStrategy则将执行此操作,如果您返回 a FeedModel,则将执行此操作FeedStrategy

但是,这些策略仅在注册后才适用。因此,如果您在JsonModel没有JsonStrategy注册的情况下返回 a,则不会发生任何事情。

存在的AcceptableViewModelSelector目的是根据接受标头提供对不同模型格式的更轻松访问和处理。它有助于使事情变得更容易,不多也不少。

策略,您也可以注册自己的策略。那里的模块有一个 PdfStrategy,如果你告诉它,它将呈现一个 PDF 文档。

稍微调整一下您的问题:

  • 策略从 ZF 2.0 开始就存在
  • 控制器插件 AVMS 仅在 ZF 2.1 中的某个时候出现,只是为了让事情变得更容易——这就是为什么它只不过是一个“插件”;)

如果这不能真正涵盖你的问题,我对如何回答你很不安全^^

于 2013-06-27T18:42:47.033 回答