我有一个Parent
实体,其中有2个子实体(Foo
和Bar
)实现了SINGLE_TABLE
继承。
是否可以创建new Parent()
实体并将其鉴别器动态设置为foo
而不是创建new Foo()
?
答案 0 :(得分:0)
不,如果您确实需要评论中提到的方案,那么您可能会对某种工厂方法更好:
abstract class MyParent
{
public static function fromString($type)
{
switch ($type) {
case 'foo':
return new Foo();
case 'bar':
return new Bar();
}
throw new DomainException('Unknown type: ' . $type);
}
}