免责声明:我是 Doctrine 的新手
我目前正在构建一个需要极高模块化和灵活性的项目,并且有两个与之相关的问题。我的项目认为以下是“理想的”简化结构:
PackageA
PackageA.php
PackageA.orm.yml
PackageB
PackageB.php
PackageB.orm.yml
PackageC
PackageC.php
PackageC.orm.yml
因为这些包的添加或删除相当频繁,所以我的目标是让每个包定义自己的持久性映射(如上所示)。但是,我见过的学说配置示例将所有映射文件(xml 或 yml)放在一个目录中,在这种情况下,我的结构将是:
PackageA
PackageA.php
PackageB
PackageB.php
PackageC
PackageC.php
Config
PackageA.orm.yml
PackageB.orm.yml
PackageC.orm.yml
问题 1:是否可以将每个映射配置文件保存在不同的位置(如第一个示例),如果是这样,您如何使用这种配置实例化 EntityManager(我已阅读 Docs for Setup 并且不能似乎找到了这种能力)。
问题 2:我已经看到如何使用命令行工具创建模式,但理想情况下,我希望每个包都创建自己的模式,所以如果 PackageD 安装到系统上并且它的模式还不存在,它是能够即时创建它。Doctrine 有可能吗?
注意:我已经看到了使用 SchemaTool 按需创建模式的一些能力,但是创建所有模式似乎有限,是真的吗?