我刚刚将Symfony升级到2.0.12版本。在快速查看deps文件之后,我意识到Assetic被声明了两次,并且有两种不同的版本。
[AsseticBundle]
git=http://github.com/symfony/AsseticBundle.git
target=/bundles/Symfony/Bundle/AsseticBundle
version=v1.0.1
和
[assetic]
git=http://github.com/kriswallsmith/assetic.git
version=v1.0.3
为什么?有特定原因还是疏忽?
答案 0 :(得分:3)
assetic
和AsseticBundle
是两回事。
assetic
是AsseticBundle
使用的基础库。它是一个独立的库,不直接依赖Symfony
。它可以被任何PHP项目使用。
另一方面,该软件包提供了库与Symfony
的紧密集成,因此您无需编写很多代码即可使用它。由于它是一个捆绑包,因此AsseticBundle
取决于FrameworkBundle
,因此必须与Symfony
一起使用。
所以,assetic
并不依赖于任何事情。 AsseticBundle
取决于assetic
,也取决于FrameworkBundle
框架的核心Symfony
。
您可以通过使用的git repo urls看到这些是两个不同的东西:
assetic
=> http://github.com/kriswallsmith/assetic.git
AsseticBundle
=> http://github.com/symfony/AsseticBundle.git
这是两个不同的回购,所以两个不同的东西,但紧密耦合在一起。从某种意义上说,两者都可以打包在一起,但有两个不同的实体可以在Symfony
之外使用。
P.S。被@elnur殴打几秒钟:)
问候,
马特
答案 1 :(得分:2)
其中一个是可以在普通PHP中使用的lib,另一个是用于将它与Symfony2集成的包。