【问题标题】:Zend AMF custom dispatcherZend AMF 自定义调度程序
【发布时间】:2011-07-15 01:26:17
【问题描述】:

在使用 Zend_AMF 时是否可以使用自定义调度程序?

我知道我可以将类名或对象传递给 Zend_AMF 的 setClass()。

但是,当我将一个对象传递给 setClass 时,它似乎并没有存储该对象的副本。相反,它计算出类名,然后实例化对象本身的副本。

这是一个问题,因为我使用的是 yadif 依赖注入容器。对象应该使用构造函数依赖和/或属性依赖来实例化。

由于 Zend_Amf 调度程序完成了所有的实例化,我无法将构造函数依赖项和其他依赖项注入到我的对象中。

如果有人对我如何在不触及 Zend_AMF 中的任何代码的情况下克服这个问题有一个策略,那就太好了:)

【问题讨论】:

    标签: php zend-framework dependency-injection amf


    【解决方案1】:

    解决方案基本上是围绕 Zend_Amf 构建一个包装器。它的编写方式意味着我必须复制句柄和 _handle() 方法中的大部分代码。然后我不得不修改一些被调用的方法来指向我创建的 Zend_Amf 实例。

    最后,调度发生了变化,调用了我自己的调度器,并返回了结果。

    显然不是最优雅的解决方案,但希望他们能在未来对 Zend_AMF 进行改造,使其更具可扩展性,让我们更容易融入其中。

    目前,我仍然可以轻松地将 Zend_AMF 的更新版本放入我的“供应商”文件夹,而无需修改任何代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多