2012-03-21 123 views
0

我剛剛將Symfony升級到了2.0.12版本。在快速瀏覽deps文件後,我意識到Assetic被宣佈了兩次,並且有兩個不同的版本。Symfony2:資產申報兩次

[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 

這是爲什麼?有沒有特定的原因,還是一個疏忽?

回答

3

asseticAsseticBundle是兩個不同的東西。

asseticAsseticBundle使用的底層庫。它是一個獨立的庫,不直接依賴Symfony。它可以被任何PHP項目使用。

另一方面,該軟件包提供了庫與Symfony的緊密集成,因此您不必編寫大量代碼即可使用它。因爲它是一個包,所以AsseticBundle取決於FrameworkBundle,所以它必須與Symfony一起使用。

所以,assetic不依賴於任何東西。 AsseticBundle取決於assetic,而且取決於FrameworkBundle,它是Symfony框架的核心。

你可以看到,這些都是由混帳回購協議的URL兩回事使用:

assetic =>http://github.com/kriswallsmith/assetic.git
AsseticBundle =>http://github.com/symfony/AsseticBundle.git

這是兩個不同的回購,所以兩個不同的東西,但緊密耦合在一起。從某種意義上說,兩者都可以被打包在一起,但在Symfony之外有兩個不同的實體啓用用途。

P.S.幾秒:)

問候,
馬特

+0

感謝你們倆通過@elnur毆打,這是晶瑩剔透的,我現在;) – 2012-03-21 20:00:28

2

其中一個是你可以在普通PHP中使用的lib,另一個是一個將它與Symfony2集成的bundle。