PHP代理对象

时间:2018-09-13 13:25:10

标签: php annotations doctrine

我在PHP中创建动态代理对象时遇到问题。

例如:

class ApplicationParamsService {

    /*
    * @Cache(time=30)
    */
    public function getValue(string $key): float {
       return $this->dao->getByKey($key);
    }

}

我创建了自己的@Cache-学说注释,为此,我创建了BeanProxy并使用__call($methodName, $arguments)来代理带注释的方法调用。

new BeanProxy($applicationParamService);

因此,如果有人使用bean.getVal('app.key'),他将使用计时器30分钟调用缓存(缓存是APC或Redis)。

当我想将bean传递给其他bean构造函数时,问题出现了:__construct(ApplicationParamService $service) <-但这会引起错误。

当然,我可以删除类型,但是那样我将丢失类型检查。

0 个答案:

没有答案