Symfony2 の紹介 日本Symfonyユーザー会 後藤 秀宣(@hidenorigoto)
自己紹介 <ul><li>後藤 秀宣(ごとう ひでのり)
@hidenorigoto
symfonyは1.2あたりからマジメに利用
日本Symfonyユーザー会  温泉ツアー </li></ul>
大切なお知らせ
Symfony 2
 
symfony 2
 
Symfony2
 
・・・ So, please, as of now, whenever you write a blog post, a piece of documentation, a tweet, or a presentation, never wri...
セッション概要 <ul><li>Symfony2の概要
Symfony2の機能ピックアップ紹介(7つ) </li></ul>
  Symfony2 の概要
Symfony2とは? <ul><li>symfony 1系の良さを引き継ぎつつ、問題点を解決するために(ほぼ)1から書き直された
PHP 5.3以上
コア部分にDIコンテナを採用
symfony 1系で問題となっていた実行速度の改善を目標の1つとしている
2010年後半に正式リリース予定 </li></ul>
Symfony2 の機能の紹介
Symfony2の機能紹介 <ul><li>デバッグツールバー
プロファイラー
設定の柔軟性
Twig統合、Templating統合
HttpKernelによるリクエストのハンドリング
キャッシュ(ESI)
アノテーション </li></ul>
  1.デバッグツールバー
1-1.デバッグツールバー <ul><li>symfony 1系のデバッグツールバーを踏襲。
ツールバーとプロファイラーに分割。ツールバー自体はシンプルに。
画面の下へ。 </li></ul>
1-2.デバッグツールバーの改善点 <ul><li>アプリケーションの出力HTMLのサイズが抑制 ->以前は膨大なデバッグ情報が追加されていたた  め、問題になる場合があった   ・デバッグ情報の出力のためにアプリケーシ    ョンのパフォーマ...
  2.プロファイラー
2-1.プロファイラー <ul><li>デバッグツールバーと独立(開発しているサイトとの干渉の削減)
より高機能に。 </li></ul>
2-2.プロファイラーの特徴 <ul><li>プロファイル情報は毎回UUIDが割り当てられ、SQLiteデータベースに保存される
UUIDを使った特定のURLへアクセスすれば、当該 プロファイル情報を閲覧可能  ->デバッグしている環境とは別のPCで閲覧  ->プロファイル情報の共有が可能 </li></ul>
  3.設定の柔軟性
3-1.設定の柔軟性 <ul><li>1系では、YAML形式で記述するか、プログラムコード内で記述
Symfony2ではYAML、XML、PHP形式で設定ファイルを同等記述できる  ->XMLが中心。XMLのバリデーション機能など    を使っている。
アノテーションによる設定も可能。  ->フォームのバリデーションの設定  ->アクションごとにルーティングやキャッシュの    設定 </li></ul>
  4. Twig と Templating
4-1.Twig統合、Templating統合 <ul><li>Templating統合で、テンプレート継承が可能に
PHPテンプレートの処理効率の向上  ->1系では、include回数などの問題があった
設定ファイルでONにするだけでTwigも利用可能  ->actionでレンダリングするビューを指定する    パラメーターの末尾に「:twig」を追加して切り    替え
PHPテンプレート(with Templating)とTwigテンプレートの処理性能は同等 </li></ul>
Upcoming SlideShare
Loading in …5
×

Symfony2 introduction

2,590 views

Published on

OSC 2010 Tokyo/Fall(2010/9/11)のSymfony2の紹介セッションの資料

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,590
On SlideShare
0
From Embeds
0
Number of Embeds
111
Actions
Shares
0
Downloads
7
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Symfony2 introduction

  1. 1. Symfony2 の紹介 日本Symfonyユーザー会 後藤 秀宣(@hidenorigoto)
  2. 2. 自己紹介 <ul><li>後藤 秀宣(ごとう ひでのり)
  3. 3. @hidenorigoto
  4. 4. symfonyは1.2あたりからマジメに利用
  5. 5. 日本Symfonyユーザー会  温泉ツアー </li></ul>
  6. 6. 大切なお知らせ
  7. 7. Symfony 2
  8. 8.  
  9. 9. symfony 2
  10. 10.  
  11. 11. Symfony2
  12. 13. ・・・ So, please, as of now, whenever you write a blog post, a piece of documentation, a tweet, or a presentation, never write &quot;Symfony 2&quot; again. Use Symfony2 instead. That way, someone can search for &quot;Symfony2 routing&quot; and he will have only Symfony2 results.
  13. 14. セッション概要 <ul><li>Symfony2の概要
  14. 15. Symfony2の機能ピックアップ紹介(7つ) </li></ul>
  15. 16.   Symfony2 の概要
  16. 17. Symfony2とは? <ul><li>symfony 1系の良さを引き継ぎつつ、問題点を解決するために(ほぼ)1から書き直された
  17. 18. PHP 5.3以上
  18. 19. コア部分にDIコンテナを採用
  19. 20. symfony 1系で問題となっていた実行速度の改善を目標の1つとしている
  20. 21. 2010年後半に正式リリース予定 </li></ul>
  21. 22. Symfony2 の機能の紹介
  22. 23. Symfony2の機能紹介 <ul><li>デバッグツールバー
  23. 24. プロファイラー
  24. 25. 設定の柔軟性
  25. 26. Twig統合、Templating統合
  26. 27. HttpKernelによるリクエストのハンドリング
  27. 28. キャッシュ(ESI)
  28. 29. アノテーション </li></ul>
  29. 30.   1.デバッグツールバー
  30. 31. 1-1.デバッグツールバー <ul><li>symfony 1系のデバッグツールバーを踏襲。
  31. 32. ツールバーとプロファイラーに分割。ツールバー自体はシンプルに。
  32. 33. 画面の下へ。 </li></ul>
  33. 34. 1-2.デバッグツールバーの改善点 <ul><li>アプリケーションの出力HTMLのサイズが抑制 ->以前は膨大なデバッグ情報が追加されていたた  め、問題になる場合があった   ・デバッグ情報の出力のためにアプリケーシ    ョンのパフォーマンス低下(正しい計測が    できない)   ・携帯でデバッグできない   ・ネットワークの遅さに引きづられる   ・メモリ使用量大 </li></ul>
  34. 35.   2.プロファイラー
  35. 36. 2-1.プロファイラー <ul><li>デバッグツールバーと独立(開発しているサイトとの干渉の削減)
  36. 37. より高機能に。 </li></ul>
  37. 38. 2-2.プロファイラーの特徴 <ul><li>プロファイル情報は毎回UUIDが割り当てられ、SQLiteデータベースに保存される
  38. 39. UUIDを使った特定のURLへアクセスすれば、当該 プロファイル情報を閲覧可能  ->デバッグしている環境とは別のPCで閲覧  ->プロファイル情報の共有が可能 </li></ul>
  39. 40.   3.設定の柔軟性
  40. 41. 3-1.設定の柔軟性 <ul><li>1系では、YAML形式で記述するか、プログラムコード内で記述
  41. 42. Symfony2ではYAML、XML、PHP形式で設定ファイルを同等記述できる  ->XMLが中心。XMLのバリデーション機能など    を使っている。
  42. 43. アノテーションによる設定も可能。  ->フォームのバリデーションの設定  ->アクションごとにルーティングやキャッシュの    設定 </li></ul>
  43. 44.   4. Twig と Templating
  44. 45. 4-1.Twig統合、Templating統合 <ul><li>Templating統合で、テンプレート継承が可能に
  45. 46. PHPテンプレートの処理効率の向上  ->1系では、include回数などの問題があった
  46. 47. 設定ファイルでONにするだけでTwigも利用可能  ->actionでレンダリングするビューを指定する    パラメーターの末尾に「:twig」を追加して切り   替え
  47. 48. PHPテンプレート(with Templating)とTwigテンプレートの処理性能は同等 </li></ul>
  48. 49.   4 - 2.テンプレートの継承とは
  49. 50. 4-2-1.1系のテンプレート(継承なし)  <ul><li>あくまで中に埋め込んでいく </li></ul>
  50. 51. 4-2-2.テンプレート継承 <ul><li>親子関係が自由に </li></ul>
  51. 52. 4-2-3.テンプレート継承の参考 <ul><li>Diangoテンプレート言語「テンプレートの継承」 http://djangoproject.jp/doc/ja/1.0/topics/templates.html#id7 </li></ul>
  52. 53.   4 - 3. Twig の構文のサンプル
  53. 54. 4-3-1.Twigの構文
  54. 55.   5. HttpKernel による リクエストハンドリング の汎用性改善
  55. 56. 5-1.HttpKernel <ul><li>HTTPリクエストをHTTPレスポンスに変換するための一連の処理を司る。
  56. 57. 1つのKernelはかなり小さい (symfony 1ではあらゆる事が詰め込まれている)
  57. 58. 1つのリクエストから、複数のサブリクエストが生成される場合もある。 サブリクエストごとに独立したHttpKernelで処理。 </li></ul>
  58. 59.   6.キャッシュ
  59. 60. 6-1.キャッシュ <ul><li>HttpKernelを拡張したキャッシュ機構
  60. 61. ESI(Edge Side Include)を実装  ->キャッシュからキャッシュをインクルードする
  61. 62. 適用可能範囲の拡大、パフォーマンスの改善に寄与 </li></ul>
  62. 63. 6 - 2. ESI キャッシュの動作例
  63. 64. 6-2-1.Symfony2のキャッシュ
  64. 65. 6-2-2.Symfony2のキャッシュ <ul><li>キャッシュ期限切れのパーツだけ更新
  65. 66. 各パーツのキャッシュ利用率が向上 </li></ul>
  66. 67. 7.アノテーション
  67. 68. 7-1.アノテーションでモデル設定 <ul><li>Doctrine2 </li></ul>
  68. 69. 3-2.アノテーションでバリデーション <ul><li>エンティティのバリデーションの設定 </li></ul>
  69. 70. 3-3.アクションの設定 <ul><li>ルーティングやテンプレート、キャッシュの設定 </li></ul>
  70. 71. どうですか? Symfony2
  71. 72. 参考URL <ul><li>Symfony2 http://symfony-reloaded.org/
  72. 73. Symfony2 ドキュメント http://docs.symfony-reloaded.org/
  73. 74. 日本 Symfony ユーザー会 http://www.symfony.gr.jp/ </li></ul>
  74. 75. Symfonyユーザー会の活動に協力していただける メンバーを絶賛募集しています
  75. 76.   (多分) 2010年末に、 Symfony2向け公式チュートリアル が出ます(個人的予想)
  76. 77.   翻訳者募集中!
  77. 78.   ブースでライブコーディングしています! 2 F  205教室

×