The 30 Most Useful Symfony Bundles

# First
[The 30 Most Useful Symfony Bundles](http://symfony.com/blog/the-30-most-useful-symfony-bundles-and-making-them-even-better)で紹介されているBundleについて簡単に紹介していきたいと思います。
元ネタ:2014/8/7 [Javier Eguiluz](https://connect.sensiolabs.com/profile/javier.eguiluz)  [The 30 Most Useful Symfony Bundles](http://symfony.com/blog/the-30-most-useful-symfony-bundles-and-making-them-even-better)

元ネタでは、Symfonyユーザーにとって有用なBundleを調査した結果、300以上の回答と330以上の異なるBundleの回答を得ました。
括弧内は、調査の回答の割合です。
また、元ネタではBundle名しか紹介していませんが、それぞれのBundleの特徴を簡単に紹介したいと思います。
理解が乏しいBundleもあるので、間違っている点などあればコメントください！

# The 30 Most Useful Symfony Bundles

## 1. [FOSUserBundle](https://github.com/FriendsOfSymfony/FOSUserBundle) (60%)
ユーザー管理においてよく利用される機能を提供しているBundleです。

* Doctrine ORM, MongoDB/CouchDB ODM or Propel経由でユーザーを保存できます
* ユーザー登録と確認メール
* パスワードリセット

## 2. [FOSRestBundle](https://github.com/FriendsOfSymfony/FOSRestBundle) (30%)
RESTful APIの開発用のBundleです。
[JMSSerializerBundle](https://github.com/schmittjoh/JMSSerializerBundle)と一緒に利用する場合が多いです。

* フォーマット(html, json, xml, etc)
* カスタムルート
* Exceptionのハンドリング

## 3. [KnpMenuBundle](https://github.com/KnpLabs/KnpMenuBundle) (25%)
[KnpMenu](https://github.com/KnpLabs/KnpMenu)を利用して、簡単にメニューが開発できるBundleです。

## 4. [StofDoctrineExtensionsBundle](https://github.com/stof/StofDoctrineExtensionsBundle) (25%)
[Doctrine2 behavioral extensions](https://github.com/Atlantic18/DoctrineExtensions)をconfig.ymlとAnnotationで簡単に利用できるようにしたBundle
CreatedAtやUpdatedAtの自動設定なんかによく利用します。

## 5. [JMSSerializerBundle](https://github.com/schmittjoh/JMSSerializerBundle) (24%)
JSON, XML, YAMLなどに対応したSerializeBundle
EntityにAnnotationを設定することでEntityのSerializeを簡単にできます。
また、twig filterも用意されています。

## 6. [SonataAdminBundle](https://github.com/sonata-project/SonataAdminBundle) (24%)
ダッシュボード, 一覧, 詳細, 追加, 編集, 削除, 検索などの機能を持った管理画面を簡単に開発できるBundle

## 7. [FOSJsRoutingBundle](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle) (23%)
JavaScriptでもRouterを利用できるようにするBundleです。
例）```
Routing.generate('my_route_to_expose', { id: 10, foo: "bar" });
// will result in /foo/10/bar?foo=bar
```

## 8. [LiipImagineBundle](https://github.com/liip/LiipImagineBundle) (22%)
LiipImagineBundleは、下の22.の[AvalancheImagineBundle](https://github.com/avalanche123/AvalancheImagineBundle)をforkしています。
filterを使って様々な画像操作を行うことができます。

## 9. [KnpPaginatorBundle](https://github.com/KnpLabs/KnpPaginatorBundle) (16%)
ページャー用のBundleです。
- Array
- Doctrine\ORM\Query
- Doctrine\ORM\QueryBuilder
などをページングできます。

## 10. [NelmioApiDocBundle](https://github.com/nelmio/NelmioApiDocBundle) (11%)
APIのドキュメントを生成し、ブラウザから見れるようにするBundleです。
コントローラーに設定したAnnotationに対応したドキュメントが生成されます。
また、json, markdown, htmlなどのファイルにdumpすることもできます。

## 11. [FOSElasticaBundle](https://github.com/FriendsOfSymfony/FOSElasticaBundle) (11%)
ElasticsearchのPHPクライアントのElastica使いたいですか？そうですか。
使いたいならFOSElasticaBundleを使いましょう！

## 12. [HWIOAuthBundle](https://github.com/hwi/HWIOAuthBundle) (11%)
OAuthのBundleで、OAuth1.0aとOAuth2をサポートしています。
また、GitHubやTwitterなど多くのプロバイダーをサポートしています。

## 13. [VichUploaderBundle](https://github.com/dustin10/VichUploaderBundle) (10%)
ファイルアップロード用のBundleです。
25.で紹介するKnpGaufretteBundleと一緒に使うことをオススメします。

## 14. [RaulFraileLadyBugBundle](https://github.com/raulfraile/LadybugBundle) (9%)
デバッグ用のBundleです。
しかし、Symfony2.6からDebugBundleが出たので、そちらで十分事足りるかもしれません。

## 15. [KnpSnappyBundle](https://github.com/KnpLabs/KnpSnappyBundle) (8%)
[Snappy](https://github.com/KnpLabs/snappy)を使うためのBundleです。
[Snappy](https://github.com/KnpLabs/snappy)は、URLやHTMLからサムネイル,スナップショット, PDFを生成するライブラリーです。

# Rest
ちょっと時間がなかったので、半分しかご紹介できません(T_T)
残りもできるだけ早くご紹介したいと思いますm(_ _)m

---

## 16. [DoctrineFixturesBundle](https://github.com/doctrine/DoctrineFixturesBundle) (8%)

## 17. [WhiteOctoberPagerFantaBundle](https://github.com/whiteoctober/WhiteOctoberPagerfantaBundle) (8%)

## 18. [DoctrineMigrationsBundle](https://github.com/doctrine/DoctrineMigrationsBundle) (8%)

## 19. [MopaBootstrapBundle](https://github.com/phiamo/MopaBootstrapBundle) (7%)

## 20. [JMSSecurityExtraBundle](https://github.com/schmittjoh/JMSSecurityExtraBundle) (6%)

## 21. [DoctrineBundle](https://github.com/doctrine/DoctrineBundle) (5%)

## 22. [AvalancheImagineBundle](https://github.com/avalanche123/AvalancheImagineBundle) (5%)

## 23. [JMSDiExtraBundle](https://github.com/schmittjoh/JMSDiExtraBundle) (5%)

## 24. [GenemuFormBundle](https://github.com/genemu/GenemuFormBundle) (4%)

## 25. [KnpGaufretteBundle](https://github.com/KnpLabs/KnpGaufretteBundle) (4%)

## 26. [SncRedisBundle](https://github.com/snc/SncRedisBundle) (4%)

## 27. [LexikFormFilterBundle](https://github.com/lexik/LexikFormFilterBundle) (3%)

## 28. [JMSI18nRoutingBundle](https://github.com/schmittjoh/JMSI18nRoutingBundle) (3%)

## 29. [LiuggioExcelBundle](https://github.com/liuggio/ExcelBundle) (3%)

## 30. [JMSTranslationBundle](https://github.com/schmittjoh/JMSTranslationBundle) (3%)