当你创建bundle时,会让你选择格式,你选择的这些格式会在后面的路由、entity和验证还有你以后的服务容器等地方使用,让你更加方便。但是这绝对不是唯一的,你可以混搭,也就是说你可以在你的bundle中使用yml或者xml或者annotation甚至是php。
先说说annotation:
这是官方推荐的一种方式,很是不错
1.程序方法在一起使用,省去了来回建设yml和xml文件到各个地方的烦恼,让你更快速构建路由,entity,服务等。
2.简洁,你渲染模板的时候要写php,如果用annotation,只需要配置一下路径,返回数组即可,orm也是如此。
3.减少你的开发时间,减少创建的文件数,减少代码量,并也有很好的清晰的结构。
yml和xml
虽然annotation非常的好,但是会有一些限制,所以不能都用annotation
例如symfony2的config.yml,那么你必须要用yml
说说xml和yml,yml清晰并且加载时效率略高与xml,所以优选yml
但是在你自己创建bundle并想要和全世界的人分享时你就要使用xml树,并且symfony可以验证你配置的参数正确性,并解析xml到你的bundle中使用
当然xml原始的配置文件标准格式,也有很多优势,你可百度查查有很多线索
如果你更习惯于php你也可以选用,不管什么方式都可以在bundle里使用所以你不用担心,看你喜欢。并且你觉得哪个你用的会更加清晰和利用使用。
有些人说每个不同的类型,会影响到程序的运行效率,我认为没有关系,因为symfony当你部署时会缓存和编译文件,所以不管你用什么类型都是一样的