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 (22%)
LiipImagineBundleは、下の22.のAvalancheImagineBundleをforkしています。
filterを使って様々な画像操作を行うことができます。
9. KnpPaginatorBundle (16%)
ページャー用のBundleです。
- Array
- Doctrine\ORM\Query
- Doctrine\ORM\QueryBuilder
などをページングできます。
10. NelmioApiDocBundle (11%)
APIのドキュメントを生成し、ブラウザから見れるようにするBundleです。
コントローラーに設定したAnnotationに対応したドキュメントが生成されます。
また、json, markdown, htmlなどのファイルにdumpすることもできます。
11. FOSElasticaBundle (11%)
ElasticsearchのPHPクライアントのElastica使いたいですか?そうですか。
使いたいならFOSElasticaBundleを使いましょう!
12. HWIOAuthBundle (11%)
OAuthのBundleで、OAuth1.0aとOAuth2をサポートしています。
また、GitHubやTwitterなど多くのプロバイダーをサポートしています。
13. VichUploaderBundle (10%)
ファイルアップロード用のBundleです。
25.で紹介するKnpGaufretteBundleと一緒に使うことをオススメします。
14. RaulFraileLadyBugBundle (9%)
デバッグ用のBundleです。
しかし、Symfony2.6からDebugBundleが出たので、そちらで十分事足りるかもしれません。
15. KnpSnappyBundle (8%)
Snappyを使うためのBundleです。
Snappyは、URLやHTMLからサムネイル,スナップショット, PDFを生成するライブラリーです。
Rest
ちょっと時間がなかったので、半分しかご紹介できません(T_T)
残りもできるだけ早くご紹介したいと思いますm(_ _)m