在父亲的父级中调用PHP magic __call而不是在抽象父级中调用方法

时间:2015-08-04 10:55:36

标签: php multiple-inheritance magic-methods

我正在尝试设置一些正在运行的生产代码的VM。生产服务器运行php 5.5和本地vm 5.4。

我有三个班级

class SysEvt extends AbstractRepository
{
    public function foo(){
       $this->persist();
    }
}

它的父类

abstract class AbstractRepository extends EntityRepository 
{
    public function persist(){
        //not being called
    }
}

和父母的父母。

class EntityRepository implements ObjectRepository, Selectable 
{
    public function __call(){
        // error if persist is called
    }
}

并且__call方法正在生成错误。我已经检查了php 5.5的更改日志,但我没有看到任何可能导致此问题的更改。

可能导致此错误的原因是什么?

1 个答案:

答案 0 :(得分:0)

这是一个缓存问题。在正常的PHP执行中不会发生。