Flow中的条令继承



我正试图为我的Typo3 Flow项目设置一个基类。它应该包含"创建日期"one_answers"更新日期"。由于Doctrine允许您使用继承映射,所以我想使我的基类成为"MappedSuperclass"。

BaseClass.php:

/**
 * @FlowEntity
 * @ORMMappedSuperclass
 */
class BaseClass {
    /**
     * @var DateTime
     * @ORMColumn(type="datetime")
     */
    protected $created;
    /**
     * @var DateTime
     * @ORMColumn(type="datetime")
     */
    protected $updated;
    ...

Component.php:

/**
 * @FlowEntity
 * @ORMInheritanceType("SINGLE_TABLE")
 */
class Component extends BaseClass{

如果我尝试使用"流动原则:更新"命令,会弹出以下错误消息:

未捕获的异常实体"。。。\Domain\Model\BaseClass"没有方法"Flow_Aop_Proxy_fixMethods AndAdvicesArrayForDoctrineProxy"注册为生命周期回调。

那么,在TYPO3 Flow中使用模型继承是可能的吗?

我找到了一种方法。

只需将BaseClass抽象化,并添加所有其他注释,如下所示:

/**
 * @FlowEntity
 * @ORMMappedSuperclass
 */
abstract class BaseClass {

并像这样扩展您的模型:

/**
 * @FlowEntity
 * @ORMInheritanceType("SINGLE_TABLE")
 */
class SomeModel extends BaseClass{

SomeModel的表现在将具有BaseClass中的属性。但是BaseClass本身没有在数据库模式中表示。

也许你也能够将特征用于更复杂的解决方案。

最新更新