ob娱乐下载Symfony2:简单(第3部分)
在之前的博文“越来越容易了”,内森做了这个有用的评论:
* * * *伟大的东西!我赞赏这个方向。有没有机会主义模式文件的位置可以缩短吗?我做了这样的文件为每个实体:“src / Mycompany / MyBundle /资源/ config /理论/ / orm / Mycompany.MyBundle.Entity.Orderset.dcm元数据。yml’但我喜欢你是认真的吗?“配置/ schema.yml”怎么了?”I like Larry Wall's philosophy about Perl - "make easy things easy and hard things possible".
我们听说你拿单!在即将到来的beta2,我们缩短了路径通过删除不必要的元数据/ orm /
部分。因此,定义的映射Orderset
类就可以完成src / Mycompany / MyBundle /资源/ config /理论/ Mycompany.MyBundle.Entity.Orderset.orm.yml
而不是src / Mycompany / MyBundle /资源/ config /理论/ / orm / Mycompany.MyBundle.Entity.Orderset.dcm.yml元数据
。
这是略好,但不是那么多,不是吗?不幸的是,Doctrine2执行一个文件/类规则,迫使文件命名的完全限定类名。但正如我曾经是一个Perl开发人员,因为短文件名总是更好的,我试图找到一些方法来绕过规则。
结果很容易和DoctrineBundle现在支持几个映射元数据的定义到一个文件中。所以,你也可以定义你Orderset
类映射的数据src / Mycompany / MyBundle /资源/ config /理论/ mapping.orm.yml
。这是比以前更短,当然完全可选的。你可以混合和匹配两种可能性为单个包:定义你的大部分数据映射到一个主要文件,并仍在使用单个文件有许多元数据信息的实体。
但是可能定义所有的数据映射到一个中央位置?如果你喜欢我,你希望能够重用模型Symfony2上下文之外;ob娱乐下载所以你不想存储实体类和映射的数据在一个特定的包。因此,存储的一切应用程序/配置/ mapping.orm.yml
例如呢?嗯,那也有可能这是一个简单的配置工作:
原则:orm映射:全球:类型:yml dir: %内核。root_dir % /配置前缀:博客\实体
好消息是,欧宝平台是合法的吗原则:生成实体
命令本身也能够处理:
。/ app /控制台学说:生成:实体= src /博客/实体——路径
对你老说再见src / Mycompany / MyBundle /资源/ config /理论/ / orm / Mycompany.MyBundle.Entity.Orderset.dcm.yml元数据
文件和享受应用程序/配置/ mapping.orm.yml
。
反馈是提高Symfony2的关键。ob娱乐下载
更新:Symfonyob娱乐下载2 beta2,映射为一个单一的实体必须使用短名称:src / Mycompany / MyBundle /资源/ config /理论/ Orderset.orm.yml
。
评论
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。
如果我选择去一个文件每个实体,我的表现还会受益于一个文件每个实体规则吗?
1)src / Mycompany / MyBundle /资源/ config /理论/ Mycompany.MyBundle.Entity.Orderset.orm.yml
2)src / Mycompany / MyBundle /资源/ config /理论/ mapping.orm.yml
3)应用程序/配置/ mapping.orm.yml
我真的很喜欢这个想法让Symfony2容易(使用),虽然我认为ob娱乐下载当有太多的选择很难遵循公约。社区包呢?欧宝体育平台怎么样它是正确的,每个人都使用不同的方法定义配置?
有一个小问题,在逆向工程从现有的数据库使用“app /控制台学说:映射:转换——从数据库yml目标路径”,它仍然产生扩张型心肌病。yml代替orm。yml,所有产生的实体名称没有任何名称空间。