Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Architecture ZF2框架和xml模式合并_Architecture_Orm_Doctrine Orm_Xsd_Zend Framework2 - Fatal编程技术网

Architecture ZF2框架和xml模式合并

Architecture ZF2框架和xml模式合并,architecture,orm,doctrine-orm,xsd,zend-framework2,Architecture,Orm,Doctrine Orm,Xsd,Zend Framework2,我正在Zend Framework 2中使用for ORM功能。 我正在尝试构建一个基于Zend Skeletton应用程序的模块化体系结构,它可以覆盖和扩展模块B中模块a的功能。 我还必须通过在新模块中插入插件来扩展实体 现在我的问题是,在模块A中,实体的xml模式是非常静态的。不可能用模块B覆盖它。 我曾考虑过实现一个服务,告诉doctrine模块在哪里找到用于特定实体的xml模式,但这还不够 例如,当模块B扩展了模块A,但模块C也从模块B或模块C扩展了模块A时(要使用哪个xml模式)? 因

我正在Zend Framework 2中使用for ORM功能。 我正在尝试构建一个基于Zend Skeletton应用程序的模块化体系结构,它可以覆盖和扩展模块B中模块a的功能。 我还必须通过在新模块中插入插件来扩展实体

现在我的问题是,在模块A中,实体的xml模式是非常静态的。不可能用模块B覆盖它。 我曾考虑过实现一个服务,告诉doctrine模块在哪里找到用于特定实体的xml模式,但这还不够

例如,当模块B扩展了模块A,但模块C也从模块B或模块C扩展了模块A时(要使用哪个xml模式)? 因此,我想从两个或多个模式文件动态构建xml模式——一个在模块B中,另一个在模块C中

实现这种架构的最佳方式是什么?编写一个可以从所有模块调用以收集所有xml模式文件的服务是一种好方法吗?
如何告诉条令合并这些文件?有没有更好的方法来触摸条令模块?例如在配置文件中?

@ibo\u这里运气不好。我试着写一个适配器,但那样做很复杂,我很快就被卡住了。最后,我只是复制了一些实体dcm.xml,并使用配置重写来指向正确的实体。所以,在扩展实体上放弃了。

你是否已经考虑过定义自定义映射驱动程序?你是说这样的:NeSITEM(ID、标题、文本)YouTube项(ID、标题、文本、YoutubLink)下载项(ID、标题、文本、DLLink)CARTIONE(ID、标题、文本、马力、TopSturk)?我有这样一个用例,我使用了应用程序来实现这一点。嗨!是的,像那样的事情会让我心烦意乱。我不确定这是不是应该这样做。您认为可以教我的自定义映射驱动程序合并xml文件吗?使用服务从多个模块收集xml模式是否正确?嗨,山姆!不,那不是我需要的。我想你说的是表继承。因此,您正在编写一个新实体,它扩展了第一个实体,但我想用更多字段扩展完全相同的实体。示例:模块A定义了实体“学生”。学生有身份证、入学证号、姓名、年龄。和一个“大学”协会。现在,模块B扩展了应用程序的更多功能,并将名为“Address”的关联添加到“Student”实体中。该模块称为“地址管理”。@user2205964如果您的映射逻辑是动态的,则是。问题是映射是缓存的,所以要么禁用缓存(性能差),要么保持启用(无法在运行时可靠地更改映射),这样我们尝试的方法似乎是错误的:-)如果您发现此问题,请保持我的最新状态。实体属性值可能是一个解决方案,但在我看来,它似乎有点脏,我认为它在使用原则的项目中不太好。