我有一個Parent
實體,其中有兩個子實體(Foo
和Bar
),用於實現SINGLE_TABLE
繼承。在Doctrine2中動態設置鑑別器
是否有可能創建一個new Parent()
實體並將其鑑別器動態設置爲foo
而不是創建new Foo()
?
我有一個Parent
實體,其中有兩個子實體(Foo
和Bar
),用於實現SINGLE_TABLE
繼承。在Doctrine2中動態設置鑑別器
是否有可能創建一個new Parent()
實體並將其鑑別器動態設置爲foo
而不是創建new Foo()
?
沒有,沒有,如果你真的需要在您的評論中提到的情況下,那麼你可能會更好地與某種工廠方法:
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);
}
}
不,這是不可能的,至少沒有醜陋的黑客。你爲什麼想這樣做? – Benjamin 2012-03-29 11:01:55
我有一個場景,我得到一個字符串表示鑑別器,我需要創建一個該類型的實體。我爲此創建了一個方法,只是想知道是否有更好的方法.. – tamir 2012-03-29 11:29:41