First
The 30 Most Useful Symfony Bundlesで紹介されているBundleについて簡単に紹介していきたいと思います。
元ネタ:2014/8/7 Javier Eguiluz The 30 Most Useful Symfony Bundles
元ネタでは、Symfonyユーザーにとって有用なBundleを調査した結果、300以上の回答と330以上の異なるBundleの回答を得ました。
括弧内は、調査の回答の割合です。
また、元ネタではBundle名しか紹介していませんが、それぞれのBundleの特徴を簡単に紹介したいと思います。
理解が乏しいBundleもあるので、間違っている点などあればコメントください!
The 30 Most Useful Symfony Bundles
1. FOSUserBundle (60%)
ユーザー管理においてよく利用される機能を提供しているBundleです。
- Doctrine ORM, MongoDB/CouchDB ODM or Propel経由でユーザーを保存できます
- ユーザー登録と確認メール
- パスワードリセット
2. FOSRestBundle (30%)
RESTful APIの開発用のBundleです。
JMSSerializerBundleと一緒に利用する場合が多いです。
- フォーマット(html, json, xml, etc)
- カスタムルート
- Exceptionのハンドリング
3. KnpMenuBundle (25%)
KnpMenuを利用して、簡単にメニューが開発できるBundleです。
4. StofDoctrineExtensionsBundle (25%)
Doctrine2 behavioral extensionsをconfig.ymlとAnnotationで簡単に利用できるようにしたBundle
CreatedAtやUpdatedAtの自動設定なんかによく利用します。
5. JMSSerializerBundle (24%)
JSON, XML, YAMLなどに対応したSerializeBundle
EntityにAnnotationを設定することでEntityのSerializeを簡単にできます。
また、twig filterも用意されています。
6. SonataAdminBundle (24%)
ダッシュボード, 一覧, 詳細, 追加, 編集, 削除, 検索などの機能を持った管理画面を簡単に開発できるBundle
7. 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%)