Php Zend AMF自定义调度程序

Php Zend AMF自定义调度程序,php,zend-framework,dependency-injection,amf,Php,Zend Framework,Dependency Injection,Amf,使用Zend_AMF时是否可以使用自定义调度程序 我知道我可以为Zend_AMF将类名或对象传递给setClass() 然而,当我将一个对象传递给setClass时,它似乎并没有存储该对象的副本。相反,它计算出类名,然后实例化对象本身的副本 这是一个问题,因为我使用yadif依赖项注入容器。对象应使用构造函数依赖项和/或属性依赖项进行实例化 由于Zend_Amf dispatcher执行所有实例化,因此我无法将构造函数依赖项和其他依赖项注入到我的对象中 如果有人有一个策略,告诉我如何在不接触Ze

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

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

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

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

由于Zend_Amf dispatcher执行所有实例化,因此我无法将构造函数依赖项和其他依赖项注入到我的对象中


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

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

最后,调度被更改,以便调用我自己的调度程序,并返回结果

显然,这不是最优雅的解决方案,但希望他们能在将来对Zend_AMF进行修改,使其更具可扩展性,并使我们能够更轻松地使用它

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