Symfony2捆绑包与PSR-0兼容的第三方库有什么区别


What is the difference between a Symfony2 bundle vs a PSR-0 compatible 3rd party library?

我知道捆绑包应该包含最佳实践文档中列出的目录结构和其他约定。

我仍然不明白为什么我应该在将库作为捆绑包安装还是在Symfony2安装中"按原样"安装PSR-0兼容库之间做出选择。

例如,我想安装GuzzleHttpClient库。目前我有两个版本可供选择:

  • 图书馆本身
  • 或者Guzzle"捆绑包"

我可以看到捆绑包使用了库,但由于我是Symfony2的新手,我还不能掌握"大局"。有人能帮我吗?

使用捆绑包而不是库将允许您从ServiceContainer访问库。

这将使您可以轻松地呼叫图书馆;例如在控制器中:

<?php
public function someAction(){
    // ...
    $guzzle = $this->get('guzzle.service_builder');
    // ...
}

结账http://symfony.com/doc/current/book/service_container.html