Symfony2:资产在deps中宣布两次

时间:2012-03-21 19:18:33

标签: symfony assetic

我刚刚将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

为什么?有特定原因还是疏忽?

2 个答案:

答案 0 :(得分:3)

asseticAsseticBundle是两回事。

asseticAsseticBundle使用的基础库。它是一个独立的库,不直接依赖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集成的包。