Symfony2:如何扩展DoctrineBahaviors?

时间:2016-02-01 13:07:41

标签: php symfony doctrine-orm

我在Symfony 3.0项目中使用DoctrineBehaviors扩展名。由于this change,我必须覆盖UserCallable类。是否可以使用bundle inheritance或任何其他方式执行此操作?

更详细地说,我想覆盖原始方法:

class UserCallable {
    ...
    public function __invoke() {
        $token = $this->container->get('security.context')->getToken();
        if (null !== $token) {
            return $token->getUser();
        }
    }
}

可能在我的自定义捆绑类中:

class MyUserCallable extends UserCallable {
    ...
    public function __invoke() {
        $token = $this->container->get('security.token_storage')->getToken();
        if (null !== $token) {
            return $token->getUser();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

正如Jason Roman所说,从1.1升级到1.3解决了这个问题。

如果是标准扩展程序(例如添加已发布的,已发布,如同DoctrineExtensions中所述) - using traits应该可以解决问题。