如图,至少使用annotation时,可以在一个页面内完成相关配置,而不是跳到yml或其他地方(当然,这是指我们写普通程序时,而不是写扩展。如果写一个用于分发的bundle,这时请使用xml配置方式)。
再者,使用annotation时的代码确实少,因为这属于metadata(即元数据)。metadata本身就有此属性,控制同样的功能时,有如“配置文件中的代码”一样简单。
annotation的缺点在于,初学很难适应,外人要看懂代码比较困难。
现在的潮流就是metadata,以ng2为例,也已经大量使用,因此Symfony是早早地归于Spring这种JAVA玩法,对于小编xtt1341来说还真是很适应了,因为几年前刚学的时候就是用这个。
Symfony中的Doctrine内置了处理annotation的基类,它是始作俑者,乃至Symofny将annotation作为一项“标配”功能提供出来——用或不用,完全看个人好恶——但我们也可以自己写annotation(针对性强,用起来格外高效方便)。
同时我们也可以使用JMSDiExtraBundle中提供的常规功能。JMSDiExtraBundle非常强大,可惜功能不是特别全,另类的配置条件,还是要到yml或xml里折腾。
~完~