如何指定什么扩展了什么在学说中映射超类与XML映射



我试图弄清楚超类映射在 Doctrine2 中是如何工作的,我有一些例子可以使用,但我一直在使用 xml 映射来创建我的实体,然后反过来创建数据库架构。我发现了一个示例,该示例将"extends"参数显示在"实体"标签中,但当前架构似乎不支持该参数。

如何告诉 XML 驱动程序哪些类应该扩展映射的超类?

西 南部

如何告诉 XML 驱动程序哪些类应该扩展映射的超类?

你不必:)

您可以简单地创建一个抽象类(让我们将其命名为 MyFirstBaseClass )并在 XML 中定义一个映射超类:

<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping
    xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
        http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"
>
    <mapped-superclass name="MyFirstBaseClass">
        <!-- fields, etc -->
    </mapped-superclass>
</doctrine-mapping>

接下来,让一个实体类扩展此映射超类。您甚至可以让一个实体类扩展一个映射的超类,而映射的超类又扩展另一个映射的超类。

关键是:Doctrine 足够聪明,可以遍历所有 XML 映射文件,以便根据类继承确定完整的映射元数据集。无需在 XML 中指定图形。

相关内容

  • 没有找到相关文章

最新更新